Pas de table de symboles d'informations disponibles
Je me suis mise à l'essai d'une bibliothèque à partir d'un tiers et qu'il se bloque. Quand j'ai voulu voir la raison de la panne de mon gdb m'a dit qu'il n'y avait pas de symboles de débogage disponibles
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb53ffb70 (LWP 3722)]
0x00172a89 in tsip_transac_send () from /usr/local/lib/libtinySIP.so.0
J'ai publié bt plein sur le gdb console et je reçois une série de lignes comme ci-dessous
#0 0x00172a89 in tsip_transac_send () from /usr/local/lib/libtinySIP.so.0
No symbol table info available
J'ai recompilé la bibliothèque après vérification de la CFLAGS dans le Makefile. Les valeurs étaient très bien tout le temps, mais j'ai recompilé de toute façon
CFLAGS = -g -O2
J'ai couru de nouveau le test avec la même chance, pas de symboles de débogage pour la bibliothèque partagée.
Ce qui me manque ici?
J'utilise Centos 6.0, et j'ai installé la bibliothèque dans Opensuse avant mais je n'avais pas ce problème. Il a probablement quelque chose à voir avec mon installation de Centos.
Dans le cas où quelqu'un se soucie, je suis en essais Doubango de la bibliothèque pour webrtc2sip.
EDIT:
Les symboles de débogage sont en train d'être chargé correctement
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x002fb830 0x0031339f Yes (*) /lib/ld-linux.so.2
0x00115040 0x00120028 Yes /usr/local/lib/libtinySAK.so.0
0x00133f30 0x0018b378 Yes /usr/local/lib/libtinySIP.so.0
0x001d8ac0 0x00201b98 Yes /usr/local/lib/libtinyNET.so.0
0x00215dd0 0x0023f638 Yes /usr/local/lib/libtinyDAV.so.0
0x0024eec0 0x00261728 Yes /usr/local/lib/libtinyMEDIA.so.0
0x0026bb00 0x002774d8 Yes /usr/local/lib/libtinyHTTP.so.0
0x002ae340 0x002b0358 Yes /usr/local/lib/libtinyXCAP.so.0
0x002b3990 0x002b8d18 Yes /usr/local/lib/libtinySMS.so.0
0x002be630 0x002c9388 Yes /usr/local/lib/libtinyMSRP.so.0
0x002de240 0x002e8e18 Yes /usr/local/lib/libtinySDP.so.0
0x00323060 0x00345778 Yes /usr/local/lib/libtinyRTP.so.0
file
sur la bibliothèque, pour voir si il a été supprimé lorsqu'il a été installé./usr/local/lib/libtinySIP..0.0.0: ELF 32-bit LSB objet partagé, Intel 80386, version 1 (SYSV), liée de façon dynamique, pas dépouillé
Ce post est peut-être utile. -> [GDB dit “pas de table de symboles”, mais nm montre fichier a les symboles de débogage][1] [1]: stackoverflow.com/questions/19229882/...
OriginalL'auteur caruizdiaz | 2013-02-07
Vous devez vous connecter pour publier un commentaire.
Bien, il semble que c'était un bug dans gdb.
Centos 6 a la version 7.2-56.el6 précompilé dans son référentiel. J'ai mis à jour (en compilant les sources) à la dernière version de gdb et c'est maintenant au travail.
Merci à tous pour votre aide.
OriginalL'auteur caruizdiaz
Vérifier
file /usr/local/lib/libtinySIP.so.0
. Si elle dit dépouillé, vérifiez votre lib du processus de construction. Il peut invoquerstrip
manuellement à dépouiller les symboles de débogage.OriginalL'auteur afflux
Il semble que vous avez un conflit options de compilation. Je ne suis pas un expert mais il semble que vos
-g
drapeau (qui est de générer des symboles de débogage) est mélangé avec-O2
drapeau (qui est un paramètre d'optimisation).Essayez d'utiliser seulement
-g
et publier les résultats.J'ai réussi à enlever le -O2 paramètre d'optimisation. Toujours le même j'ai peur 🙁
OriginalL'auteur Tyler Jandreau