gdb: “Aucune table de symboles n’est chargée”

Je continue à obtenir ce message d’erreur en essayant d’append un point d’arrêt dans gdb.

J’ai utilisé ces commandes pour comstackr:

gcc -g main.c utmpib2.c -o main.o and: cc -g main.c utmpib2.c -o main.o and also: g++ -g main.c utmpib2.c -o main.o 

J’ai aussi essayé “-ggdb” au lieu de “-g” et je reçois toujours ce message d’erreur.

J’exécute alors gdb:

 $gdb 

Dans gdb:

 (gdb)exec-file main.o (gdb)break 59 No symbol table is loaded. Use the "file" command. 

Tout d’abord, ce que vous avez, c’est un programme entièrement compilé, pas un fichier object, alors déposez l’extension .o . Maintenant, faites attention à ce que le message d’erreur dit, il vous dit exactement comment résoudre votre problème: “Aucune table de symboles n’est chargée. Utilisez la commande” fichier “ .”

 (gdb) exec-file test (gdb) b 2 No symbol table is loaded. Use the "file" command. (gdb) file test Reading symbols from /home/user/test/test...done. (gdb) b 2 Breakpoint 1 at 0x80483ea: file test.c, line 2. (gdb) 

Ou passez simplement le programme sur la ligne de commande.

 $ gdb test GNU gdb (GDB) 7.4 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later  [...] Reading symbols from /home/user/test/test...done. (gdb) b 2 Breakpoint 1 at 0x80483ea: file test.c, line 2. (gdb) 

Vous devez append un paramètre supplémentaire -g, qui génère des informations de débogage au niveau source. Cela ressemblera à:

 gcc -g prog.c 

Après cela, vous pouvez utiliser gdb de manière courante.

J’ai le même problème et j’ai suivi ce post , cela a résolu mon problème.

Suivez les 2 étapes suivantes:

  1. Assurez-vous que le niveau d’optimisation est -O0
  2. Ajouter -ggdb indicateur -ggdb lors de la compilation de votre programme

Bonne chance!

Chaque fois que gcc sur la machine de compilation et gdb sur la machine de test ont des versions différentes , vous pouvez être confronté à une incompatibilité de format debuginfo .

Pour résoudre ce problème, essayez de réduire le format debuginfo:

 gcc -gdwarf-3 ... gcc -gdwarf-2 ... gcc -gstabs ... gcc -gstabs+ ... gcc -gcoff ... gcc -gxcoff ... gcc -gxcoff+ ... 

Ou gdb au gcc que vous utilisez.