J'ai essayé de lancer valgrind (memcheck et massif) sur une application que j'ai écrite, mais tout ce que je reçois sont des adresses pour les fonctions exécutées.Valgrind ne retournera pas les lignes source!
---------------------------------
Context accounted for 0.6% of measured spacetime
0x805F29A: (within prog_name)
0x8141740: (within prog_name)
Called from:
0.6% : 0x812E077: (within prog_name)
---------------------------------
Context accounted for 0.5% of measured spacetime
0x805F29A: (within prog_name)
0x81418FB: (within prog_name)
Called from:
0.5% : 0x812E077: (within prog_name)
Je compilé mon application avec le drapeau -g pour mettre les symboles de débogage dans. Est-il une autre raison pour laquelle valgrind ne serait pas montrer la ligne de source?
ÉDIT: valgrind version 3.2.1-Debian; g ++ 4.3.1
Je ne sais pas, mais si vous 'gdb prog_name' votre application et essayez quelque chose comme' break 0x812E077', est-ce que 'gdb' affiche les numéros de ligne? (Vous ne devriez même pas lancer le programme, mais le charger 'gdb'.) – aschepler
@aschepler - Je l'ai essayé. Chaque fois que j'essaye de faire cela, gdb ne peut pas trouver la fonction nommée "0x812E077" et demande si elle est dans une bibliothèque qu'elle chargera plus tard ... donc cela n'a pas fonctionné. –
Oups, cela aurait dû être 'break * 0x812E077'. Mais content que vous ayez trouvé une solution. – aschepler