
Estou procurando um emulador x86 para poder rodar meu kernel Linux dentro dele. Estou procurando especificamente por um emulador que mostre todas as chamadas de função no nível C/Assembly, desde o bootloader até o carregamento do kernel. Além disso, deve ser capaz de mostrar o layout da memória RAM.
Responder1
Existem diversas soluções de depuração de kernel disponíveis; aqui estão alguns que usei:
- bochs, um emulador de sistema completo, tem um ótimodepurador integrado(com uma GUI opcional), bem como suporte paradepuração remota usando
gdb
; - QEMU, outro emulador de sistema completo (que também suporta emulação somente de CPU por processo) também suportadepuração remota usando
gdb
.
Ambos podem congelar a CPU na inicialização do sistema emulado, o que permite que o bootstrap seja depurado. Quando usados como destinos para gdb
, eles também suportam a anexação de código-fonte para que você possa seguir o código C (ou, teoricamente, qualquer coisa que gdb
suporte).