A kernel debugger is a debugger present in some operating system kernels to ease debugging and kernel development by the kernel developers. A kernel debugger might be a stub implementing low-level operations, with a full-blown debugger such as GNU Debugger (gdb), running on another machine, sending commands to the stub over a serial line or a network connection, or it might provide a command line that can be used directly on the machine being debugged.
Operating systems and operating system kernels that contain a kernel debugger:
The Windows NT family includes a kernel debugger named KD,[1] which can act as a local debugger with limited capabilities (reading and writing kernel memory, and setting breakpoints)[2] and can attach to a remote machine over a serial line, IEEE 1394 connection, USB 2.0 or USB 3.0 connection.[3] The WinDbg GUI debugger can also be used to debug kernels on local and remote machines.
BeOS and Haiku include a kernel debugger usable with either an on-screen console or over a serial line. It features various commands to inspect memory, threads, and other kernel structures. [4]
DragonFly BSD
Linux kernel; No kernel debugger was included in the mainline Linux tree prior to version 2.6.26-rc1 because Linus Torvalds didn't want a kernel debugger in the kernel.[5][6]
KDB (local)[7]
KGDB (remote)
MDB (local/remote)[8][9][10]
NetBSD (DDB for local, KGDB for remote)
macOS - ddb for local, kdp for remote[11]
OpenBSD includes ddb which has a syntax is similar to GNU Debugger.[12]
^"Debugging Environments". Debugging Tools for Windows (WinDbg, KD, CDB, NTSD). Retrieved 16 February 2020.
^"Local Kernel-Mode Debugging". Retrieved 16 February 2020.
^"Live Kernel-Mode Debugging Using KD". Retrieved 16 January 2020.
^"Welcome to Kernel Debugging Land".
^"LWN.net". Retrieved 29 May 2008.
^Torvalds, Linus (3 May 2008). "Linux 2.6.26-rc1". LWN. Retrieved 9 March 2015.
^Nellitheertha, Hariprasad. "Inside the Linux kernel debugger". IBM. Archived from the original on 21 June 2008. Retrieved 29 May 2008.
^"LWN Weekly Kernel News". 7 September 2008.
^"MDB Github Website". 1 January 2016. Archived from the original on 22 March 2016.
^"LWN Weekly Kernel News". 28 June 2010.
^Singh, Amit (December 2003). "XNU: The Kernel". What is Mac OS X?. Archived from the original on 2 June 2020. Retrieved 25 May 2012. the built-in low-level kernel debugger, ddb, is part of XNU's Mach component, and so is kdp, a remote kernel debugging protocol implementation
^"ddb(4)". OpenBSD manual page server. 6 December 2019. Retrieved 13 December 2019. The ddb debugger provides a means for debugging the kernel, and analysing the kernel after a system crash ("panic"), with a gdb(1)-like syntax.
A kerneldebugger is a debugger present in some operating system kernels to ease debugging and kernel development by the kernel developers. A kernel debugger...
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C...
A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run...
SoftICE is a kernel mode debugger for DOS and Windows up to Windows XP. It is designed to run underneath Windows, so that the operating system is unaware...
Kernel documentation". Kernel.org. Archived from the original on 4 December 2020. Retrieved 6 October 2020. "Using kgdb, kdb and the kerneldebugger internals"...
debug port. (This action turns on remote debugging.) /DEBUG – Turns on the kerneldebugger when Windows starts. Unlike the /CRASHDEBUG switch, /DEBUG...
used to debug user mode applications, device drivers, and the operating system itself in kernel mode. Like the better-known Visual Studio Debugger WinDbg...
file may be debugged later, using a kerneldebugger. For Windows, WinDBG or KD debuggers from Debugging Tools for Windows are used. A debugger is necessary...
application-level debuggers. In the CodeView debugger, it was sometimes used to break into the debugging during program execution. For the Windows NT remote kernel debugger...
in certain versions of Microsoft Access databases MDB, a kerneldebugger for the Linux kernel. MDB, the NASDAQ ticker symbol for MongoDB, a database management...
well-known. Next, if a kerneldebugger is connected and active when the bug check occurs, the system will break into the debugger where the cause of the...
) Kernel Debugging Land is the name of the Kernel Debugger users of Haiku and BeOS see when a kernel crash happens. Wikimedia Commons has media related...
archived" CodeXL's GPU debugger allows engineers to debug OpenGL and OpenCL API calls and runtime objects, and debug OpenCL kernels: set breakpoints, step...
January 2018. Shankland, Stephen (1 July 2005). "Novell introduces Linux kerneldebugger". CNet. Shankland, Stephen (17 February 2003). "Intel, Red Hat cure...
an error message to the console, dump an image of kernel memory to disk for post-mortem debugging, and then either wait for the system to be manually...
for State Security (Ukraine) Kdb+, a database server KDB, a Linux kerneldebugger KDB (FM), a radio station, Santa Barbara, California, US KDB (Brunei)...
other BSD kernels (and those of most modern operating systems), DragonFly employs a built-in kerneldebugger to help the developers find kernel bugs. Furthermore...
Free and open-source software portal KGDB is a debugger for the Linux kernel and the kernels of NetBSD and FreeBSD. It requires two machines that are...
remotely debug systems, for example. This can also provide a serial console through which the in-kerneldebugger can be dropped to in case of kernel panics...
This is a list of debuggers: computer programs that are used to test and debug other programs. Advanced Debugger — an older UNIX debugger dating back to...
The magic SysRq key is a key combination understood by the Linux kernel, which allows the user to perform various low-level commands regardless of the...
addition, it can also be used as a kerneldebugger with VMWare. Since it features a disassembler and a low-level debugger, Radare2 can be useful to developers...
simple-to-use RAM-based file system specially designed for debugging purposes. It exists as a simple way for kernel developers to make information available to user...
required for kerneldebugging, symbol table generation or other operations, but must be made bootable before being used as an operating system kernel by adding...