
- •Лабораторная работа № 1 аргументы и опции программы. Функция getopt(). Знакомство с отладчиком gdb
- •Программа выполнения работы.
- •Отладчик gdb
- •Компиляция для отладки
- •Вход-выход
- •Команды gdb
- •Получение справки
- •Начало выполнения отлаживаемой программы
- •Настройки среды
- •Рабочий каталог отлаживаемой программы
- •Ввод и вывод отлаживаемой программы
- •Часто используемые команды
- •Варианты заданий
- •Контрольные вопросы.
- •Составить отчет
- •Варианты заданий.
- •Контрольные вопросы
- •Лабораторная работа № 3 ввод/вывод в linux. Обработка ошибок
- •Программа работы
- •Составить отчет Краткая теория.
- •Системные вызовы
- •Обработка ошибок.
- •Варианты заданий
- •Варианты:
- •Контрольные вопросы
- •Составить отчет.
- •Варианты заданий
- •Составить отчет.
- •Варианты заданий.
- •Составить отчет. Краткая теория.
- •Создание и удаление каталогов
- •Чтение каталогов
- •Варианты заданий.
- •Контрольные вопросы.
Получение справки
Используя команду help без параметров (сокращенно h), можно получить информацию о коротком списке именованных классов команд:
(gdb) help
List of classes of commands:
aliases -- Aliases of other commands
breakpoints -- Making program stop at certain points
data -- Examining data
files -- Specifying and examining files
internals -- Maintenance commands
obscure -- Obscure features
running -- Running the program
stack -- Examining the stack
status -- Status inquiries
support -- Support facilities
tracepoints -- Tracing of program execution without stopping the program
user-defined -- User-defined commands
Type "help" followed by a class name for a list of commands in that class.
Type "help" followed by command name for full documentation.
Command name abbreviations are allowed if unambiguous.
(gdb)
Используя один из общих классов справки как параметр, можно получить список отдельных команд этого класса:
help класс
Если указать имя команды в качестве параметра команды help:
help команда
отладчик gdb выведет короткую справку о том, как пользоваться этой командой.
Команда apropos производит поиск по регулярному выражению, заданному в аргументе, во всех командах gdb и их документации:
apropos аргумент
Команда complete перечисляет все возможные завершения для начала команды. Например:
complete аргумент
Следующие команды доступны при использования GNU Emacs.
Команда info (сокращенно i) предназначена для описания состояния программы. Например, с помощью info args можно просмотреть аргументы, переданные программе, с помощью info registers перечислить используемые в настоящий момент регистры, или используя info breakpoints вывести установленные пользователем точки останова. Полный список подкоманд команды info можно получить с помощью help info.
С помощью команды set можно присвоить переменной среды результат выражения. Например, можно переустановить приглашение gdb в знак $ используя команду set prompt $.
В отличие от info, команда show предназначена для описания состояния самого gdb. Можно изменить почти все, что показывает show, используя соответствующую команду set. Например, командой set radix можно задать, какую систему счисления использовать для вывода, или просто узнать, какая система используется в данный момент с помощью команды show radix. Для отображения всех устанавливаемых параметров и их текущих значений, можно использовать show без аргументов; также можно использовать info set. Обе команды приводят к одинаковому результату.
Три подкоманды show не имеют соответствующих set-команд:
show version show copying show warranty
Они выдают информацию о версии gdb, о правах на распространение gdb, об отсутствии гарантий, или наличии гарантии на gdb.
Начало выполнения отлаживаемой программы
Когда gdb запускается, программа в нем еще не выполняется; необходимо запустить ее командой run. Команда run аргументы запускает программу с определенными аргументами командной строки. Они передаются оболочке, которая раскрывает символы шаблонов и выполняет перенаправление ввода-вывода, и с того момента попадают в программу. Команда run без аргументов использует те же аргументы, которые использовались предыдущей командой run, или которые установлены командой set args. Последняя задает аргументы, которые будут использоваться при следующем запуске программы. Если у set args нет аргументов, run выполняет программу без аргументов. Если программу была запущена с аргументами, то единственный способ запустить ее снова без аргументов ‑ это использовать set args до следующего запуска командой run.
Просмотреть аргументы, которые будут переданы программе при ее вызове можно с помощью команды show args.