Advertisement

Gdb

gdb - системный отладчик

Пример отладки загрузчика через эмулятор qemu.

qemu -s -S c.img

В другой консоле

(gdb) target remote localhost:1234

Remote debugging using localhost:1234

0x0000fff0 in ?? ()

(gdb) set arch i386

The target architecture is assumed to be i386

(gdb) set disassemble-next-line on

(gdb) set disassembly-flavor intel

(gdb) br *0x7c00

Breakpoint 1 at 0x7c00

(gdb) c

Continuing.

Breakpoint 1, 0x00007c00 in ?? ()

=> 0x00007c00: eb 3c jmp 0x7c3e

(gdb) si

0x00007c3e in ?? ()

=> 0x00007c3e: fa cli

Для пошаговой отладки используем si и ni так же можно загрузить отладочные символы

(gdb) symbol-file boot.sym

Тогда можно будет ходить по строкам исходного кода s, n

Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA, если не указано иное.