2010-08-28 7 views
2

Je suis très intéressé par Sun Studio pour détecter les fuites de mémoire dans les applications C++ avec le débogueur dbx mais je pense que ce débogueur ne montre que les fuites de mémoire produites par malloc/realloc et free; Je ne suis pas sûr à ce sujet, mais j'ai essayé avec un programme C++ et je n'ai obtenu aucune fuite de mémoire. Dans ce cas, j'essaierais Valgrind. Si j'ai fait quelque chose de mal (possibilité élevée) Comment puis-je déboguer des applications C++?Détecter les fuites de mémoire dans dbx avec les opérateurs new et delete

Merci.

+0

Si vous utilisez DBX, je suppose que vous êtes bloqué sur certains systèmes AIX ou Solaris. Définissez un point d'arrêt à 'malloc()'. Appelez le programme 'new' pour voir s'il appelle' malloc() 'en interne - parce que beaucoup d'implémentations STL sous AIX et Solaris I ont utilisé' malloc() '/' free() 'en interne. – Dummy00001

Répondre

0

Eh bien, certains points que vous devez vous assurer, d'abord, l'application que vous trace avez une fuite de mémoire.Si pas profiler ne montrera rien.S'il y a une fuite et profiler ne saisit pas alors besoin de vérifier comment tu le fais. Donc, valgrind est une autre meilleure option que vous pouvez essayer.Alors, quand vous dites "quelque chose de mal (possibilité élevée) Comment puis-je déboguer des applications C++?" voulez-vous dire seulement pertinent pour le débogage problème de fuite de mémoire ou dans le débogage général de l'application C++? Si sa fuite de mémoire liée alors vous pouvez compter sur valgrind, sinon vous pouvez également regarder AIX malloc trace.Voici l'URL pour cela:

http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/malloc_trace_debug.htm

+0

Merci! Je ne parle que de fuites de mémoire. Je sais que mon code a des fuites de mémoire car Netbeans 6.8 détecte huit d'entre eux mais pas plus d'informations. J'utilise Linux et je vais essayer Valgrind, En fait, j'ai vu que Valgrind avait besoin de la glibc 2.0-2.10 et la version de glibc que j'ai installée est 2.11. Le premier problème ... – honnix

Questions connexes