Kernel debugger

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

  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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.