2010-08-14 3 views

Répondre

6

Vous avez tenté de libérer de la mémoire que le gestionnaire de mémoire ne reconnaît pas comme lui appartenant.

L'exception provient du destructeur d'un objet, qui indique que vous tentez de libérer un objet qui a déjà été libéré. Sinon, vous appelez Free sur une variable qui n'a jamais eu de référence d'objet valide en premier lieu; tenir compte des avertissements du compilateur sur les variables non initialisées.

+0

Merci pour la réponse. mais je ne sais pas quel objet a déjà été libéré !! . comment puis-je le trouver? – Kermia

+0

Eh bien, l'exception se produit à partir de la méthode Click d'un élément de menu, qui appelle probablement un gestionnaire OnClick que vous avez écrit. Commencez là. –

+1

Si vous l'avez déjà dans le débogueur, vous pouvez commencer en haut de la trace de la pile et double-cliquer sur chaque ligne. Vous pouvez le suivre en arrière pour voir quels étaient les appels. Vous devriez envisager d'utiliser FastMM. Il est excellent pour repérer les problèmes de gestion de la mémoire. – Mike

2

Veuillez voir l'article "FastMM" au this article. Bien qu'il parle de fuites de mémoire, c'est vraiment une introduction au débogage des gestionnaires de mémoire, qui sont utilisés pour trouver des problèmes avec la mémoire dynamique - tout comme votre cas.

Questions connexes