2015-08-19 3 views
0

Je cherche à déboguer les routines malloc et libres utilisées par libc. Pour ce faire j'ai installé les paquets suivants.Impossible d'utiliser les symboles de débogage pour libc

sudo apt-get install libc6-dbg 
sudo apt-get install libc6:i386 
sudo apt-get install libc6-dbg:i386 

Je suis sur un 64 bits machine Ubuntu 15.04 et je suis le débogage d'un binaire i386. Je vois le poste here qui semble faire face à un problème similaire.

Inside gdb Je vérifie l'emplacement à partir duquel les fichiers de débogage sont chargés et obtiens ceci.

(gdb) show debug-file-directory 
The directory where separate debug symbols are searched for is "/usr/lib/debug". 

Cependant, il n'y a aucune indication que les symboles de débogage sont en cours de chargement. Comment pourrais-je résoudre ce problème? J'ai essayé avec les binaires amd64 et i386 et les résultats sont les mêmes. Les binaires que je débogue eux-mêmes n'ont pas de symboles de débogage installés.

Répondre

0

Cependant, il n'y a aucune indication ...

Quelle indication que vous cherchez?

Je suppose que vous avez fait quelque chose comme:

gdb ./a.out 
(gdb) list malloc # complains about "no symbols loaded" 

Est-ce que ceci:

gdb ./a.out 
(gdb) start 
# breakpoint 1 hit 
(gdb) list __libc_malloc 

Explication: libc.so.6 et ses symboles de débogage ne sont pas chargés (et donc pas visible) jusqu'à ce que le programme commence réellement.