Pourquoi je reçois le message “pas à pas jusqu'à la sortie . . . qui n'a pas de numéro de ligne de l'information” dans GDB?
J'ai compilé mon programme C utilisant gcc 4.4.1 en utilisant le drapeau -g
, mais quand j'essaie de parcourir l'un de mes fonctions dans gdb version 7.0, je reçois le message:
"Single stepping until exit from function _DictionaryTree_getNodeList,
which has no line number information."
Quelqu'un peut me dire pourquoi ce qui se passe?
Vous devez vous connecter pour publier un commentaire.
Juste deviner, mais est _DictionaryTree_getNodeList dans un autre fichier qui n'a pas été compilé avec g?
J'ai eu le même problème mais dans mon cas, l'ajout de
-g
pour le compilateur n'était pas assez, alors j'ai utilisé-ggdb
comme suggéré par Manav.Dans mon cas, le problème était la version d'inclinaison entre
gcc
etgdb
.Après l'atterrissage, ici, de la recherche et aucune de ces réponses ajustement ma situation, j'ai compris que (en raison de alias /liens symboliques /
Makefile
/variables d'environnement), j'ai été accidentellement en utilisant une version plus récente de GCC (4.8.x) et une ancienne GDB (7.2). De monter une nouvelle version de GDB (7.8) a résolu le problème. Pour une raison quelconque, en utilisant une version plus récente de GCC et plus GDB n'a pas fonctionné.J'ai eu ce message d'erreur aussi, mais la source de mon problème était différent. Si quelqu'un a encore des problèmes, assurez-vous d'avoir
#include <stdio.h>
dans votre fichier, avec les supports de fixation autour destdio.h
(le message texte n'apparaîtra pas si je l'ai eu autour destdio.h
).J'ai eu le même problème, lorsque j'ai compilé un fichier à l'aide de l'option-g et sans l'option-g.
Pour un fichier, le gdb a montré numéro de la ligne sans aucun problème(même quand il a été compilé sans l'option-g)..
Et pour l'autre fichier, j'ai eu à le mentionner explicitement -g drapeau...
Toutes les idées pour savoir si le fichier source a pu être chargé au moment de l'exécution dans
GDB avec le renvoi serait une bonne solution... par la cartographie de l'
lignes pour les adresses :D.
J'ai eu ce problème parce que j'ai été le débogage d'une bibliothèque partagée, sans pointer du LD_LIBRARY_PATH à l'emplacement approprié avec debug endstates.
vous pouvez utiliser
Espérons que cela est utile à quelqu'un
J'ai eu le même problème malgré que j'étais déjà compilation avec
-g2
. Changer l'-g3
a fait le tour.