Un depurador de núcleo es un depurador presente en algunos núcleos de sistemas operativos para facilitar la depuración y el desarrollo del núcleo por parte de los desarrolladores del núcleo. Un depurador de núcleo puede ser un stub que implementa operaciones de bajo nivel, con un depurador completo como GNU Debugger (gdb), ejecutándose en otra máquina, enviando comandos al stub a través de una línea serial o una conexión de red, o puede proporcionar una línea de comandos que se puede usar directamente en la máquina que se está depurando.
Sistemas operativos y núcleos de sistemas operativos que contienen un depurador de núcleo:
- La familia Windows NT incluye un depurador de kernel llamado KD, [1] que puede actuar como un depurador local con capacidades limitadas (leer y escribir memoria del kernel y establecer puntos de interrupción) [2] y puede conectarse a una máquina remota a través de una línea serial, conexión IEEE 1394 , conexión USB 2.0 o USB 3.0 . [3] El depurador GUI WinDbg también se puede utilizar para depurar kernels en máquinas locales y remotas.
- BeOS y Haiku incluyen un depurador de kernel que se puede utilizar con una consola en pantalla o a través de una línea serial. Incluye varios comandos para inspeccionar la memoria, los subprocesos y otras estructuras del kernel. [4]
- Libélula BSD
- Núcleo de Linux ; No se incluyó ningún depurador de núcleo en el árbol principal de Linux antes de la versión 2.6.26-rc1 porque Linus Torvalds no quería un depurador de núcleo en el núcleo. [5] [6]
- KDB (local) [7]
- KGDB (remoto)
- MDB (local/remoto) [8] [9] [10]
- NetBSD (DDB para local, KGDB para remoto)
- macOS - ddb para local, kdp para remoto [11]
- OpenBSD incluye ddb que tiene una sintaxis similar a GNU Debugger . [12]
Referencias
- ^ "Entornos de depuración". Herramientas de depuración para Windows (WinDbg, KD, CDB, NTSD) . Consultado el 16 de febrero de 2020 .
- ^ "Depuración en modo kernel local" . Consultado el 16 de febrero de 2020 .
- ^ "Depuración en modo kernel en vivo con KD" . Consultado el 16 de enero de 2020 .
- ^ "Bienvenido a Kernel Debugging Land".
- ^ "LWN.net" . Consultado el 29 de mayo de 2008 .
- ^ Torvalds, Linus (3 de mayo de 2008). «Linux 2.6.26-rc1». LWN . Consultado el 9 de marzo de 2015 .
- ^ Nellitheertha, Hariprasad. "Dentro del depurador del núcleo de Linux". IBM . Archivado desde el original el 21 de junio de 2008. Consultado el 29 de mayo de 2008 .
- ^ "Noticias semanales del kernel de LWN". 7 de septiembre de 2008.
- ^ "Sitio web de Github de MDB". 1 de enero de 2016. Archivado desde el original el 22 de marzo de 2016.
- ^ "Noticias semanales del kernel de LWN". 28 de junio de 2010.
- ^ Singh, Amit (diciembre de 2003). "XNU: The Kernel". ¿Qué es Mac OS X? . Archivado desde el original el 2 de junio de 2020 . Consultado el 25 de mayo de 2012 .
El depurador de kernel de bajo nivel integrado, ddb, es parte del componente Mach de XNU, al igual que kdp, una implementación de protocolo de depuración de kernel remota
- ^ "ddb(4)". Página del manual de OpenBSD del servidor . 6 de diciembre de 2019 . Consultado el 13 de diciembre de 2019 .
El depurador ddb proporciona un medio para depurar el núcleo y analizarlo después de un fallo del sistema ("pánico"), con una sintaxis similar a gdb(1).