Je suis nouveau sur gdb. Quand je débogue mon programme, je n'ai que des backtraces comme ci-dessous.questions gdb concernant les symboles
Program received signal SIGSEGV, Segmentation fault.
0x000000003075a238 in ??()
(gdb) backtrace
#0 0x000000003075a238 in ??()
#1 0x00007fff72825da8 in ??()
#2 0x0000000000000008 in ??()
#3 0x000000003063c340 in ??()
#4 0x0000000000000000 in ??()
(gdb)
Je suppose qu'il manque des informations sur les symboles. Je reçois ce message
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found).
donc j'ai essayé (gdb) symbole fichier /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.13.so au démarrage de gdb il n'a pas aidé.
Comment savoir quelle information de symbole est manquante? Le code de l'ensemble du projet est compilé avec gcc -g.
Vous aurez probablement pas besoin des symboles de la bibliothèque standard C à moins que vous le débogage _it_ - les chances sont nettement plus élevés que les problèmes de 'SIGSEGV' sont dans le code de your. Etes-vous sûr que votre code n'est pas supprimé après sa compilation? ... D'autre part, # 4, il y a un pointeur nul. Peut-être que toute la pile est indésirable. – sarnold
'gcc -g' devrait fonctionner. Assurez-vous que tout lien préserve également les symboles. –