This is the official site of “General Kernel Debugger”, GKD in short.
Project History
I created Peter-bochs debugger for os dev. I renamed it to GKD because peter-bochs only supports bochs but GKD support qemu too. The reasons I created it are:
- bochs internal debugger is hard to dump out some x86 data structure, i need a faster way to do it.
- tired with command line
- i need a way to profiling part of my kernel, some bugs are really hard to trace without this feature
- source level debug support
Some reasons i want to support QEMU because Bochs has some disadvantages, such as
- It is slow, if compare to qemu or xen
- It’s debug information output format is not fixed, hard to parse it correct it for all versions
- qemu debugger can dump out more x86 specific registers
- support x86 only
So GKD is a general debugger that able to run on qemu and bochs, i will not abandon bochs because it is still one of my favourite emulator to dev my own os.
Project Goal
- Support full-kernel-profiling feature
- Time travel
- CUDA debugging
- Support multiple hardware platform