2013-08-12 13 views
8

Mam plik o nazwie test. Nawet po skompilowaniu go z opcją -g, gdy uruchomię go w gdb, oznacza to, że nie znaleziono symboli debugowania. Próbowałem również przy użyciu -ggdb, ale to też nie miało sensu. Proszę pomóż.gdb: (nie znaleziono symboli debugowania)

Output for : gdb test 

This GDB was configured as "x86_64-linux-gnu". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
Reading symbols from /usr/bin/test...(no debugging symbols found)...done. 

Odpowiedz

7

Problem jest, że próbujesz debugować zły program.

Twój program nazywa się test, a mimo to debugujesz /usr/bin/test (program systemowy, który prawie na pewno zostanie wysłany bez symboli, nawet gdyby zawierał symbole, nie byłby związany z Twoim kodem źródłowym).

gdb wyszuka $PATH, aby znaleźć plik wykonywalny. Od here:

exec-file [nazwa pliku] Określa, że ​​program należy uruchomić (ale nie tabela symbol) znajduje się w pliku. gdb przeszukuje środowisko zmienna PATH w razie potrzeby, aby zlokalizować program. Pominięcie nazwy pliku oznacza odrzucenie informacji o pliku wykonywalnym.

Spróbuj użyć polecenia:

$ gdb ./test 
+0

Po prostu nie znaleziono takiego pliku lub katalogu. Podążałem za jednym tutorialem w sieci na gdb i tam poprosili o użycie testu gdb, jeśli nazwa programu brzmiała test.cpp – psyc0der

+0

I czy istnieje plik './Test'? – trojanfoe

+0

Wierzę./Test jest sposobem na wykonanie test.out. I skompilowałem test.cpp z danymi wyjściowymi w test.out – psyc0der

0

Sprawdź, czy plik wykonywalny nie jest usuwany, można zobaczyć, że z file /usr/bin/test

+0

Wykonywanie pliku/usr/bin/test w gdb daje mi to samo wyjście. Czytanie symboli z /usr/bin/test...(no znalezione symbole debugowania) ... wykonane. – psyc0der

+0

Czy możesz opublikować wynik 'file/usr/bin/test'? – Mali

+0

'Odczytywanie symboli z /usr/bin/test...(nie znaleziono symbole debugowania) ... wykonane. – psyc0der

1

Usuń a.out a następnie spróbuj ponownie. To działało dla mnie, ponieważ miałem ten sam błąd.

rm a.out 
gcc -g your_code.c