У меня есть исходный файл testcc.c, который просто печатает «Hello, World», я компилирую его с помощью cc, как показано ниже.
cc -g -o testcc testcc.c
он отлично работает, когда я его запускаю. теперь я хочу отладить его с помощью gdb с помощью следующей команды.
gdb testcc
Я вижу результат работы GDB.
GDB - бесплатное программное обеспечение, и вы можете распространять его копии при определенных условиях; введите "показать копирование", чтобы увидеть условия. На GDB нет никаких гарантий; для получения подробной информации введите "показать гарантию". GDB 4.16 (sparc-sun-solaris2.6), Copyright 1996 Free Software Foundation, Inc ...
Но когда я пытаюсь установить точку останова в строке 5, я получил следующее сообщение
(gdb) break 5
Breakpoint 1 at 0x10814: file /home/users/xxx/C, line 5.
(gdb)
Проблема в том, что / home / users / xxx / C - это мой текущий рабочий каталог, а не исходный файл!
Затем я пытаюсь использовать параметры file: line-number
(gdb) break testcc.c:5
No source file named testcc.c.
Итак, я включаю полный путь к имени файла, как показано ниже.
(gdb) break /home/users/xxx/testcc.c:5
No source file named /home/users/xxx/testcc.c.
Я запуталась, файл есть, почему gdb не может его найти? Я также пытаюсь указать каталог для поиска исходных файлов при запуске gdb
gdb -d /home/users/xxx/C testcc
это все еще не работает, в чем проблема?
/home/users/xxx/C
реальный каталог или вы смонтировали файловую систему Windows в своей системе Solaris? - person Paul R   schedule 14.11.2012gdb
, версия 4.16 (sparc-sun-solaris2.6), имеет проблемы с отладочной информацией, сгенерированной вашей копиейgcc
. - person scottt   schedule 14.11.2012