GDB ne pas afficher les noms de fonction
Je suis le débogage à partir d'un dispositif intégré à l'aide de gdbserver:
./gdbserver HOST:5000 /home/test_app
Dans mon PC, j'ai exécuter gdb de cette façon:
arm-none-linux-gnueabi-gdb test_app
Une fois que l'application est en cours d'exécution, je reçois l'Erreur, je veux debug, mais il est impossible de savoir quelle ligne de produit:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 715]
0x31303030 in ?? ()
(gdb) bt
#0 0x31303030 in ?? ()
#1 0x0000dff8 in ?? ()
#2 0x0000dff8 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(Je dois dire que je suis totalement nouveau pour GDB)
Quels flags avez-vous compilez avec? Ne GDB savoir où obtenir de vos fichiers d'origine, de sorte qu'il peut afficher la ligne, qu'il arrêté?
Je ne comprends pas. Votre PC est BRAS? Et vous ne semblent pas être à la connexion au serveur GDB.
Pourriez-vous svp poster votre compilateur de l'exécution de la ligne et de votre plein GDB commandes? Je suis d'accord avec Tomalak Geret'kal qu'il y a vraiment quelque chose qui manque ici, au moins la connecter au serveur GDB et la commande pour le réglage du répertoire source.
Je ne comprends pas. Votre PC est BRAS? Et vous ne semblent pas être à la connexion au serveur GDB.
Pourriez-vous svp poster votre compilateur de l'exécution de la ligne et de votre plein GDB commandes? Je suis d'accord avec Tomalak Geret'kal qu'il y a vraiment quelque chose qui manque ici, au moins la connecter au serveur GDB et la commande pour le réglage du répertoire source.
OriginalL'auteur funkadelic | 2011-12-05
Vous devez vous connecter pour publier un commentaire.
Ok cela se produit généralement si les symboles de débogage sont en manque... juste pour s'assurer exécuter les commandes suivantes
vous permettra d'obtenir des informations sur votre binaire comme format, arc etc.. dernière partie de l'info décrit si le binaire est dépouillé ou pas. Pour le débogage dans GDB le binaire ne doit pas avoir été dépouillé.
Si vous avez quelques valide imprime comme ci-dessous cela signifie les symboles de débogage sont présents.
Plus lorsque vous appelez GDB, vous devriez avoir follwing ligne
À ce stade, vous devriez être en mesure de dresser la liste des sources avec
list
commande.Assurez-vous que les deux gdb et gdbserver ont même versioninig.
Si tous les ci-dessus sont remplies, et vous ne recevez toujours pas trace, il y a quelque chose de mauvais se passe avec votre pile. Essayez d'exécuter une analyse statique, valgrind sur votre code /code nouvellement ajouté.
Je ne pense pas que cette réponse, c'est vrai. J'ai trouvé plusieurs dépouillé les fichiers avec visible les noms de fonction (mais aucune source n'est reproduit)
OriginalL'auteur Kamath
Vous avez besoin pour construire votre application avec des symboles de débogage activé. Le commutateur pour gcc est
-g
Je ne peux pas poster sur les options de compilation que j'ai utilisé... mais j'ai utilisé -g.
OriginalL'auteur pmr