I am looking for a x86 emulator so that I can run my Linux kernel inside it. I am specifically looking for an emulator that shows all the function calls in C/Assembly level from bootloader, all the way to kernel loading. Moreover, it should be capable of showing the RAM memory layout.
There are a number of kernel debugging solutions available; here are a couple I've used:
- bochs, a full-system emulator, has a nice built-in debugger (with an optional GUI), as well as support for remote debugging using
- QEMU, another full-system emulator (which also supports CPU-only, per-process emulation) also supports remote debugging using
Both of these can freeze the CPU at startup of the emulated system, which allows the bootstrap to be debugged. When used as targets for
gdb, they also support attaching source code so you can follow C code (or theoretically anything