10.2. Использование gdb для отладки вашей программы

На верх  Назад  Вперёд

Чтобы использовать программу gdb для отладки, вы должны запустить отладчик и передать в него в качестве параметра полное имя программы:

gdb hello

или для DOS:

gdb hello.exe

Это выполнит запуск отладчика, который сразу же загрузит вашу программу в память, но выполнение ваше программы пока не начнётся. Вместо этого вы увидите примерно следующее сообщение gdb:

GNU gdb 6.6.50.20070726-cvs
Copyright (C) 2007 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
(gdb)

 

GNU gdb 6.6.50.20070726-cvs
Copyright (C) 2007 Free Software Foundation, Inc.
GDB является свободным программным обеспечением, при его распространении используется GNU General Public License, вы можете изменить и/или распространять его копии при определенных условиях.
Команда "show copying" выведет эти условия.
GDB не даёт никах гарантий. Коменда "show warranty" выведет подробности.
GDB был сконфигурирован как "x86_64-SUSE-Linux".
(GDB)

Реальное сообщение будет несколько отличаться, в зависимости от вашей операционной системы и версии отладчика.

Для запуска вашей программы вы можете использовать команду run. Вы можете указать дополнительные параметры командной строки, которые будут переданы в вашу программу, например:

(gdb) run -Опция –ДругаяОпция НеобходимыйПараметр

Если ваша программа запустится без проблем, то gdb проинформирует вас об этом и вернёт код выхода вашей программы. Если код выхода равен нулю, то отобразится сообщение «Program exited normally» (Программа завершена нормально).

Если что-то пошло не так (ошибка сегментации и т.п.), то gdb остановит выполнение вашей программы и проинформирует вас об этом соответствующим сообщением. Затем вы можете использовать другие команды gdb, чтобы посмотреть что случилось. Как альтернативный вариант, вы можете указать gdb остановиться на конкретном месте программы с помощью команды break.

Ниже перечислен краткий список команд gdb, которые вы можете использовать при работе:

Команда

Описание

quit

Выход из отладчика.

kill

Остановить запущенную программу.

help

Выводит справку по командам gdb.

file

Загружает новую программу в отладчик.

directory

Добавляет новый каталог в список путей для поиска исходных файлов.
ПРИМЕЧАНИЕ:

Моя копия gdb требует "." для явного добавления пути поиска, иначе она не находит исходные файлы.

list

Список исходных кодов программ объёмом в 10 строк. В качестве опции вы можете указать номер строки или имя функции.

break

Устанавливает точку останова и указывает строку или функцию.

awatch

Устанавливает точку наблюдения за выражением. Точка наблюдения останавливает выполнение вашей программы, однако можно значение выражения прочитать или изменить.

В ПРИЛОЖЕНИЕ Е Простой файл gdb.ini приведён простой пример файла инициализации для gdb. Там получен хороший результат при отладке программ Free Pascal. Подробно см. руководство пользователя для gdb или функцию help в gdb.

И текстовая версия IDE, и Lazarus, используют GDB как выходной буфер для отладки. Это более предпочтительно, так как они избавляют пользователя от ввода множества параметров и облегчают работу с отладчиком.