gdb, он же GNU Debugger — одно из основных средств отладки в *NIX, при этом консольное. Последнее и послужило причиной написания данной напоминалки. Итак, пусть мы хотим отладить программу prog. Тогда её обьектные файлы должны создаваться с ключем -g, позволяющим отладку:
$ gcc -c prog.c myheader.h -g
$ gcc prog.o -o prog
Теперь можно запустить дебаггер:
$ gdb prog
Запуск и остановка выполнения
- run prog <agruments> — запуск программы на выполнение. Псевдоним: r. Если отлаживается демон, то перед run следует дать команду set follow-fork-mode child.
- n — перейти к следующей строке.
- Остановка: Ctrl+C.
Точки останова (breakpoints)
- break <linenumber> или break <filename.c>:<linenumber> или break <function_name> устанавливает точку останова в определенную строку основного файла проекта, или в файле<filename.c>, или на заход в функцию<function_name>. Псевдоним команды break: b.
- delete — удалить все точки останова.
Просмотр значений переменных
- p <var_name>
- bt выводит содержимое стека. Особенно полезно после ошибки Segmentation Fault, когда нужно глянуть, кто кого и с какими параметрами вызвал.
Уведомление: Отладчик gdb « Engraver’s Weblog