gdb: "таблица символов не загружается"
Я продолжаю получать это сообщение об ошибке при попытке добавить точку останова в gdb.
я использовал эти команды для компиляции:
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
Я также попытался "- ggdb "вместо" - g", и я все еще получаю это сообщение об ошибке.
затем я выполняю gdb:
$gdb
в gdb:
(gdb)exec-file main.o
(gdb)break 59
No symbol table is loaded. Use the "file" command.
4 ответов:
прежде всего, у вас есть полностью скомпилированная программа, а не объектный файл, поэтому отбросьте
вы должны добавить дополнительный параметр-g, который генерирует отладочную информацию на уровне источника. Это будет выглядеть так:
gcc -g prog.cпосле этого вы можете использовать gdb обычным способом.
у меня такая же проблема и я следовал этому Post, это решило мою проблему.
выполните следующие 2 шага:
- убедитесь, что уровень оптимизации составляет
-O0- добавить
-ggdbфлаг при компиляции программыудачи!
всякий раз, когда
gccна машине компиляции иgdbна испытательной машине есть различные версии, вы можете столкнуться несовместимость формата debuginfo.чтобы исправить это, попробуйте понизить формат debuginfo:
gcc -gdwarf-3 ... gcc -gdwarf-2 ... gcc -gstabs ... gcc -gstabs+ ... gcc -gcoff ... gcc -gxcoff ... gcc -gxcoff+ ...или матч
gdbдоgccвы используете.
Comments