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. In Haiku, the debugger is called "Kernel Debugging Land" (KDL).[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]
  • NetBSD has DDB for local and KGDB for remote.
  • macOS has ddb for local and kdp for remote.[11]
  • OpenBSD includes ddb which has a syntax is similar to GNU Debugger.[12]

References

edit
  1. ^ "Debugging Environments". Debugging Tools for Windows (WinDbg, KD, CDB, NTSD). Retrieved 16 February 2020.
  2. ^ "Local Kernel-Mode Debugging". Retrieved 16 February 2020.
  3. ^ "Live Kernel-Mode Debugging Using KD". Retrieved 16 January 2020.
  4. ^ "Welcome to Kernel Debugging Land".
  5. ^ "LWN.net". Retrieved 29 May 2008.
  6. ^ Torvalds, Linus (3 May 2008). "Linux 2.6.26-rc1". LWN. Retrieved 9 March 2015.
  7. ^ Nellitheertha, Hariprasad. "Inside the Linux kernel debugger". IBM. Archived from the original on 21 June 2008. Retrieved 29 May 2008.
  8. ^ "LWN Weekly Kernel News". 7 September 2008.
  9. ^ "MDB Github Website". 1 January 2016. Archived from the original on 22 March 2016.
  10. ^ "LWN Weekly Kernel News". 28 June 2010.
  11. ^ 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
  12. ^ "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.

📚 Artikel Terkait di Wikipedia

SoftICE

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

WinDbg

device drivers, and the operating system itself in kernel mode. Like the Visual Studio Debugger, WinDbg has a graphical user interface (GUI), but is

GNU 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

Linux kernel

Kernel documentation". Kernel.org. Archived from the original on 4 December 2020. Retrieved 6 October 2020. "Using kgdb, kdb and the kernel debugger internals"

NetBSD

an in-kernel application sandbox based on kauth(9), with sandbox policies provided as Lua scripts. NetBSD provides a minimalist kernel debugger — DDB(4)

Blue screen of death

file may be debugged later, using a kernel debugger. For Windows, WinDBG or KD debuggers from Debugging Tools for Windows are used. A debugger was necessary

Comparison of operating system kernels

The kexec-based Crash Dumping Solution. kernel.org. Using kgdb, kdb and the kernel debugger internals. kernel.org. DRBD: a distributed block device. LWN

CodeXL

archived" CodeXL's GPU debugger allows engineers to debug OpenGL and OpenCL API calls and runtime objects, and debug OpenCL kernels: set breakpoints, step