Cómo depurar el kernel de Windows

Un núcleo puede considerarse uno de los componentes básicos de Windows como sistema operativo. Esto se debe principalmente a que controla todos los procesos que se ejecutan en el sistema.

Dicho esto, cualquier problema y problema con los kernels puede resultar en problemas de funcionalidad paralizantes para su PC, que incluyen errores de pantalla azul de la muerte.

Desafortunadamente, ni siquiera Windows 10, la última versión del sistema operativo Windows, no está a salvo de tales problemas. Una buena noticia es que el código del núcleo se puede depurar, siempre que sepa cómo hacerlo.

Afortunadamente, la depuración del kernel es posible y se facilita gracias a la presencia de depuradores del kernel.

¿Cómo puedo iniciar la depuración del Kernel?

La respuesta a esa pregunta es bastante compleja, pero basta con decir que debe seguir una serie de pasos predefinidos antes de poder comenzar:

1. Determine qué PC es el host y qué PC es el objetivo

Lo más básico que debe saber es que no puede comenzar a depurar sin un depurador de kernel. El depurador del kernel se ejecutará en el sistema host, mientras que el código que necesita depuración se ejecutará en el sistema de destino.

Los dos sistemas pueden ser uno y el mismo, pero deben cumplirse ciertas condiciones de antemano.

2. Determine si realizará una depuración en modo kernel o en modo usuario

Elegir qué tipo de depuración no es tan difícil. Todo lo que necesita hacer es determinar qué tipo de depuración será más eficiente.

  • El código en modo kernel tiene permiso para acceder a cualquier parte del sistema y puede obtener acceso a cualquier parte de cualquier otro proceso que se ejecute en modo usuario o en modo kernel.
  • El modo de usuario tiene más restricciones aplicadas, pero tiene la ventaja de no poder alterar los recursos reales del sistema si las cosas salen mal.

3. Elija un entorno de depuración

El entorno de depuración es básicamente el programa que utilizará para realizar la depuración. WinDbg funciona bien en la mayoría de las situaciones, pero hay momentos en que otros pueden funcionar mejor, como los depuradores de consola para automatización o Visual Studio.

4. Averigüe cómo conectará el destino y el host

Por lo general, tanto el sistema de destino como el host están conectados mediante una red Ethernet. Si está realizando un trabajo inicial temprano o no tiene una conexión Ethernet en un dispositivo, se pueden usar otras opciones de conectividad de red.

5. Elija entre herramientas de depuración de 32 o 64 bits

Este es probablemente el paso más fácil de todos, ya que depende de qué versión de Windows estén ejecutando el host y el destino, y si el código que necesita depuración es o no un código de 32 bits o de 64 bits.

6. Configura tus símbolos

Si está utilizando un entorno como WinDbg, deberá configurar los símbolos correctos si desea utilizar todas sus funcionalidades avanzadas. Si no los configura, no podrá usar ninguna de las funciones del depurador que dependen de esos símbolos.

7. Configurar el código fuente

Es necesario definir la ruta al código fuente, incluso en el caso de que sea su propio código fuente. Por lo tanto, es obligatorio configurar una ruta al mismo en todos los casos.

8. Familiarícese con la depuración

Las operaciones y técnicas de depuración no son tan difíciles una vez que te acostumbras a ellas. Esto es gracias a la extensa documentación que acompaña a cada operación, toda la cual se describe paso a paso.

9. Use los comandos de referencia del depurador

No puede saberlo todo y no puede recordar nada para siempre, pero lo que puede hacer es buscar los comandos de referencia del depurador que están ahí para ayudar.

Un buen ejemplo es el .S.S comando, que mostrará documentación de ayuda sobre cada comando disponible.

10. Usa extensiones de depuración

El código puede ser extremadamente complejo y se ramifica en una variedad de formas. Por eso, sus entornos pueden no ser suficientes para realizar la depuración.

Por lo tanto, el uso de extensiones de depuración que proporcionan análisis de estructuras de datos específicas del dominio puede ser muy útil.

Pensamientos finales

Los pasos mencionados anteriormente son todos los procedimientos básicos que debe realizar al intentar una depuración del kernel.

Por supuesto, hay muchas situaciones específicas en las que estos pasos pueden variar, pero la conclusión es que todas involucran más o menos estos 10 pasos básicos.

¿Nuestro artículo lo ayudó a comprender mejor cómo puede iniciar la depuración del kernel? Háganos saber cuáles son sus opiniones en la sección de comentarios a continuación.