Погружение в технику и философию gdb

       

автоматическое отображение 3х инструкций при трассировке в формате Intel


Перенаправление ввода/вывода. По умолчанию, gdb связывает со стандартным вводом/выводом отлаживаемой программы текущую консоль, в результате чего сообщения программы перемешиваются с сообщениями отладчика. Чтобы навести порядок, необходимо перенаправить в/в программы в отдельную консоль, что осуществляется командой "tty консоль". Открываем новую консоль, даем UNIX-команду "tty" для определения ее имени (например, "/dev/ps/6"), возвращаемся к консоли отладчика и говорим: "tty /dev/ps/6".

Вывод выражение на экран. Для вывода выражений используется команда "print" или ее более короткий псевдоним "p" за которым следует выражение.

Например:

(gdb) p 2*2

$1 = 4

(gdb) p $1 + 3

$2 = 7

(gdb) p $sp

$3 = (void *) 0xbffffb40

# вывод значение $sp

(gdb) p/x *(unsigned int*) $sp

$4 = 0x1

# вывод ячейки, на которую указывает $sp в hex-формате

(gdb) p/u *(unsigned int*) $sp

$5 = 1

# вывод ячейки, на которую указывает $sp в unsigned dec-формате

(gdb) p *0xbffffB3F

$6 = 256

# вывод содержимого ячейки в dec-формате (по умолчанию)

(gdb) p/x *0xbffffB3F

$7 = 0x100

# вывод содержимого ячейки в hex-формате



Содержание раздела