Aucun fichier source nommé principal.c. gdb pause réglage du point d'
Je suis à l'aide de gdb pour déboguer C projet de code source. Je compile comme indiqué:
./configure --enable-debug CFLAGS="-g -o0"
make --debug=a
Je veux arrêter le débogage au fichier spécifique. Donc, lorsque j'ai mis un point de rupture par l'utilisation de
(gdb) break main.c:672
Il dit:
No source file named main.c.
Même lorsque je passe nom de fonction spécifique (en principal.fichier c) à la pause . il dit: cette fonction n'est pas définie.
Mon répertoire actuel est c'est le principal.c fichier. J'utilise Cygwin sous Windows. Lorsque j'ai mis un point de rupture par l'utilisation de
(gdb) break main
Il positionne un point d'arrêt à une fonction principale de Cygwin fichier, pas dans mon code source.
- comment puis-je résoudre mon premier problème?
- juste par curiosité, comment éviter le deuxième problème, si il n'y a même le nom de la fonction à l'intérieur de Cygwin fichiers et mon code source?
OriginalL'auteur arslan | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
Si vous compilez avec
-g
et toujours pas en mesure de définir un point d'arrêt, essayez d'ajouterraise(SIGTRAP)
dans votremain()
, exécutez le processus dans gdb, puis définir le point d'arrêt que vous voulez à nouveau après il frappe leSIGTRAP
.OriginalL'auteur wilywampa
Lorsque vous compilez votre
.c
fichier, assurez-vous que vous utilisez:De recherche pour charger les symboles de débogage fait ou pas?
Si ce n':
vous pouvez trouver le symbole de fichier dans le répertoire obj
vous pouvez afficher l'aperçu de l'ensemble du problème dans la façon dont vous compilation
J'ai ajouté de la compilation d'infos , veuillez consulter
il suffit de vérifier que vous avez à ajouter fichier symbole de l'id de processus
modifié la réponse espère que ça aide
OriginalL'auteur Sohil Omer
Crucial est gcc paramètre -g lors de la compilation.
Tout le reste est secondaire.
Voir les points d'arrêt dans GDB
OriginalL'auteur dyomas
J'ai aussi rencontré avec le même problème plus tôt. J'ai juste supprimé .les métadonnées dossier et importés du projet de nouveau et qui fonctionnent bien.
OriginalL'auteur Kulwant Bhambra
Chaque fois que vous devez utiliser GDB, tapez la commande suivante en ligne de commande
Maintenant type
et puis entrez la commande break
s'il vous plaît consulter ma compilation des commandes, est-il un problème?
OriginalL'auteur user2430771