Вместо qemu используйте bochs . Это полностью совместимо, хотя и медленнее. Это также эмулятор, но если вы делаете это из исходников, используйте эти флаги и собираете его так:
./configure --enable-debugger --enable-disasm --disable-docbook
make
make install
вы можете устанавливать точки останова в своем коде, проходить по ним, просматривать GDT, IDT и все, что вам нужно было знать.