KGDB has been in the kernel since 2.6.26 in 2008. Now there’s a patch to remove it.
The argument
KGDB lets you debug a kernel with GDB, but it needs a second machine on serial or network. Peter Zijlstra posted the removal patch and said that, with everyone having virtualization now, there’s no reason to use it over QEMU’s gdb-server. He says it sits stuck in NMI context, can wreck timekeeping, trips watchdogs, and makes breakpoint code miserable. For hardware-specific bugs, his advice is device pass-through, emulation or printk(). Someone suggested disabling it in Kconfig first and removing it a few releases later.
My take
Debugging in a VM is just cleaner than dragging out a null-modem cable. If anyone still depends on KGDB for real hardware, now’s the time to speak up on the list.
God Bless, and May the Source Be with You!