Вход/Регистрация
Разработка приложений в среде Linux. Второе издание
вернуться

Троан Эрик В.

Шрифт:

Идентификаторы формата отделены от команд символом

/
и состоят из трех элементов: цифра, буква формата и буква, отражающая размер. Цифра и буква размера не обязательны; по умолчанию в качестве цифры устанавливается
1
, а размер получает подходящее значение по умолчанию, основанное на букве формата.

Буквы формата следующие:

о
для обозначения восьмеричного числа,
x
для шестнадцатеричного числа,
d
для десятичного числа, и для беззнакового десятичного числа,
t
для двоичных данных,
f
для числа с плавающей запятой, а для адреса,
i
для инструкций, с для символа,
s
для строки.

Символы, отображающие размер, таковы:

b
— байт,
h
— полуслово (2 байта),
w
— слово (4 байта),
g
 — слово-гигант (8 байт).

attach
,
at

Подключает отладчик к уже запущенному процессу. Единственным аргументом является идентификатор процесса (pid), к которому осуществляется подключение. Процессы, с которыми установлено подключение, останавливаются, прерывая любые ожидающие или текущие системные вызовы, которые разрешено прерывать. См.

detach
.

backtrace
,
bt
,
where
,
w

Выводит трассировку стека.

break
,
b

Устанавливает точку прерывания. Можно указать имя функции, номер строки текущего файла (файл, содержащий выполняемый в данный момент код), пару

имя_файла:номер_строки
или даже произвольный адрес с помощью
*адрес.gdb
назначает и выводит уникальный номер для каждой точки прерывания. См.
condition
,
clear
и
delete
.

clear

Удаляет точку прерывания. Принимает такой же аргумент, как

break
. См.
delete
.

condition

Изменяет точку прерывания, определенную номером (см.

break
), для прерывания, только если выражение истинно. Допускаются произвольные выражения.

(gdb) b664

Breakpoint 3 at 0х804а5с0: file ladsh4.c, line664.

(gdb) condition 3 status==0

delete

Удаляет точку прерывания, определенную номером.

detach

Отключается от текущего подключенного процесса.

display

Отображает значение выражения каждый раз при остановке выполнения. Принимает такие же аргументы (включая модификаторы формата), как

print
. Выводит номер отображения, которое впоследствии может использоваться для отмены отображения. См.
undisplay
.

Help

Вызывает справку. При вызове без аргумента предоставляет краткое описание доступной справочной информации. При вызове с другой командой в качестве аргумента выводит справку по этой команде. Доступны перекрестные ссылки.

jump

Переходит на произвольный адрес и продолжает выполнение процесса с этой точки. Адрес — единственный аргумент; его можно определить в форме номера строки или адреса, указанного как

*адрес
.

list
,
l

Выданная без аргументов

list
сначала выводит 10 строк, расположенных возле текущего адреса. Последующие вызовы list выводят последующие 10 строк. При использовании аргумента
–
выводит предыдущие 10 строк. При указании номера строки выводит 10 строк, окружающих эту строку. При указании пары
имя_файла:номер_строки
выводит 10 строк, окружающих заданную. При указании имени функции выводит 10 строк возле начала функции. При указании адреса в виде
*адрес
выводит 10 строк, окружающих код, находящийся по этому адресу. При указании двух строк, разграниченных запятыми, выводит все строки между заданными.

next
,
n

Переходит на следующую строку исходного кода в текущей функции, без захода внутрь функций. См.

step
.

nexti

Переходит на следующую инструкцию машинного языка без захода внутрь функций. См.

stepi
.

print
,
p

Выводит значение выражения в понятной форме. Если есть переменная

char* с
, команда
print с
выведет адрес строки, a
print *с
выведет саму строку. Для структур выводятся их члены. Можно использовать приведения типов, которые
gdb
будет учитывать. Если код скомпилирован с опцией
– ggdb
, в выражениях станут доступны перечислимые значения и определения препроцессора. См.
display
. Команда
print
принимает идентификаторы формата, несмотря на то, что при указании и преобразовании типов идентификаторы формата зачастую не нужны. См.
x
.

run
,
r

Запускает текущую программу с начала. Аргументы команды run передаются в командную строку для запуска программы. В

gdb
, подобно оболочке, можно универсализировать имена файлов с помощью
*
и
[]
, а также осуществлять переадресацию посредством
<
,
>
и
>>
, но нельзя создавать каналы или внутренние документы. Без аргументов
run
использует аргументы, которые были определены в самой последней команде
run
или
set args
. Для запуска без аргументов после их задействования используется команда
set args
без дополнительных аргументов.

  • Читать дальше
  • 1
  • ...
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: