4 votes

Détection de l'utilisation après free() sous Windows. (pointeurs pendants)

J'essaie de détecter les bogues "Use after free()", autrement connus sous le nom de "Dangling pointers". Je sais que Valgrind peut être utilisé pour détecter les bogues "Use after free" sur la plate-forme *nix, mais qu'en est-il de Windows ? Et si je n'ai pas les sources ? Existe-t-il un meilleur programme que Valgrind pour détecter tous les pointeurs pendants dans un programme ? Un logiciel libre et ouvert serait préférable, mais je suis prêt à utiliser une solution commerciale si elle peut faire l'affaire.

0voto

Seva Alekseyev Points 31812

NuMega BoundsChecker avait l'habitude d'attraper ce genre de choses. Je ne sais pas s'ils sont toujours en activité...

0voto

Eric J. Points 73338

DieHard est une autre alternative qui mérite d'être examinée. Elle se trouve sur le site Web de HOARDE, qui semble malheureusement utiliser des cadres, de sorte que vous devrez regarder dans la navigation de gauche pour trouver DieHard.

0voto

Luca Points 5487

Vérifiez le tas de débogage de Windows . Il n'est pas open source, mais il fonctionne.

0voto

joe Points 21

Après le free(), mettre la valeur du pointeur à 0 et attendre le feu d'artifice ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X