отображение машинной команды по заданному адресу
Вместо адреса можно использовать любое другое выражение, переменную или регистр (если регистры доступны), однако, отлаживать программу в таком режиме _крайне_ неудобно и лучше задействовать режим автоматического отображения, задаваемый командой "display".
Режим автоматического отображения позволяет выводить значение любого выражения, регистра, ячейки памяти, машинной инструкции при каждой остановке gdb (например, при пошаговом выполнении). Команда "display/i $pc" (которую достаточно дать один раз за весь сеанс), будет отображать одну машинную инструкцию под $pc за раз, однако, это не очень удобно и на практике постоянно возникает необходимость узнать — какая же будет следующая инструкция за выполняемой. Мыщъх обычно выводит по три инструкции за раз: "display/3i $pc" и довольствуется жизнью в полный рост.
(gdb) display/3i $pc
1: x/3i $pc
0x200008: mov $0x2a,%bl
0x20000a: jmp 0x200040
0x20000f: add %al,(%edx)
(gdb) ni
0x0020000a in ?? ()
1: x/3i $pc
0x20000a: jmp 0x200040
0x20000f: add %al,(%edx)
0x200011: add %al,(%ebx)
(gdb) ni
0x00200040 in ?? ()
1: x/3i $pc
0x200040: jmp 0x200046
0x200045: mov $0xe8,%al
0x200047: movsl %ds:(%esi),%es:(%edi)