автоматическое отображение 3х инструкций при трассировке в формате AT&T
Для автоматического отображения значения регистров достаточно дать команду "display регистр", где регистр — $eax, $ebx, $ecx и т. д. Для регистра-указателя текущего положения стека существует специальное имя — $sp, которое можно использовать наравне с $esp (точно так же, как $pc <-->
$eip). Автоматических отображений может быть создано сколько угодно и любое из них всегда может быть уделено командой "undisplay n1 n2 .. nn", где nx – номер отображения, которой можно узнать по команде "info display". Временно выключить отображение помогает команда "disable display n1 n2 ... nn", а enable display – включает обратно.
Переключение режима дизассемблирования ATT&T|Intel. По умолчанию, gdb использует синтаксис AT&T, но может выводить инструкции и в формате Intel, для чего достаточно дать команду "set disassembly-flavor intel", а чтобы вернуться назад: "set disassembly-flavor att". Вот, сравните это с листингом 14.
(gdb) set disassembly-flavor intel
(gdb) display/3i $pc
1: x/3i $pc
0x200008: mov bl,0x2a
0x20000a: jmp 0x200040
0x20000f: add BYTE PTR [edx],al
(gdb) ni
0x0020000a in ?? ()
1: x/3i $pc
0x20000a: jmp 0x200040
0x20000f: add BYTE PTR [edx],al
0x200011: add BYTE PTR [ebx],al
(gdb)
0x00200040 in ?? ()
1: x/3i $pc
0x200040: jmp 0x200046
0x200045: mov al,0xe8
0x200047: movs es:[edi],ds:[esi]