URGENT : Verifier la validité d'un pointeur en Realease ?
cs_zyxxx75
Messages postés7Date d'inscriptionmercredi 16 octobre 2002StatutMembreDernière intervention 6 août 2010
-
15 avril 2004 à 11:14
cs_zyxxx75
Messages postés7Date d'inscriptionmercredi 16 octobre 2002StatutMembreDernière intervention 6 août 2010
-
15 avril 2004 à 14:35
Bonjour,
Je suis confronter a un probleme dans un code que je debbug. Voila le code principal ajoute des pointeur de classe dans un collection MFC.
Or la verification des pointeurs ajoutés n'est faite que par comparaison avec la valeur NULL ou avec la fonction ASSERT_VALID qui ne fonctionne qu'en debbug.
Un specialiste pourrais me conseiller sur la methode pour verifié la validiter des pointeurs. Ou dois attendre l'exception Access Violation Memory et la gerer ?
Merci de me répondre sur mon mail zyxxx75@ifrance.com.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 15 avril 2004 à 12:34
Il y a IsBadCodePtr() pour verifier acces memoire a l'adresse du pointeur mais aucune garantie que soit adresse de la classe voulue.
Aucune solution 'pret a l'emploi', il faut gerer correctement les pointeurs en les remettant bien a ZERO au bon moment.
salut,
de plus un pointeur qui contient 0xdddddddd est un pointeur dont la memoire a ete liberée
extrait MSDN:
Citation:
Table 1. Potential patterns Pattern Description
0xFDFDFDFD No man's land (normally outside of a process)
0xDDDDDDDD Freed memory
0xCDCDCDCD Uninitialized (global)
0xCCCCCCCC Uninitialized locals (on the stack)
Voila, bonne journée.
PS : Par acquis de conscience je donne la reference au site :
Extrait du forum www.developpez.net.