Bonjour,
En essayant de parser un fixhier xml j'ai eu une erreur que je comprends pas ! (voir les 2 photo en pièces jointes)
un problème Après l'appel de destructeur ~TiXmlDocument().
Une idée sur ce type d'erreur ?
Merci d'avance
Bonjour,
En essayant de parser un fixhier xml j'ai eu une erreur que je comprends pas ! (voir les 2 photo en pièces jointes)
un problème Après l'appel de destructeur ~TiXmlDocument().
Une idée sur ce type d'erreur ?
Merci d'avance
Un problème a été détecté au moment de l'appel de destructeur ~TiXmlDocument() mais le problème est dans la mémoire en général.
Régulièrement en Debug, au moment des allocations et des libérations, la C-Runtime vérifie que le tas n'est pas vérolé.
Ici, c'est que le tas a été vérolé depuis la dernière vérification.
Commencez par voir le contenu de la mémoire que la C-Runtime voit comme vérolé. Avec le contenu, vous verrez quelles variables ont été salopées et comment.
Cela donnera des indications sur le code aux mains sales.
Puis activez la constante de compilation pour la vérification systématique du tas à chaque allocation et libération.
Vous saurez que le code qui salope le tas est entre la dernière allocation/libération qui a réussie et celle qui "plante".
Pour être précis, au moment du delete (appelé par le destructeur d'une TiXmlString) il a tenté une fonction CheckBytes() qui fait probablement des lectures d'octets dans et autour du buffer alloué, et là ça a planté sur une violation d'accès (le processus n'avait pas le droit de lire la mémoire à cet endroit-là).
Ce qui veux dire que soit le pointeur à libérer était complètement invalide, soit que la zone mémoire pointée était déjà libérée.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager