Depuración de Kernel-Mode local

Herramientas de depuración para Windows admite la depuración de kernel local. Se trata de la depuración en modo kernel en un único equipo. En otras palabras, el depurador se ejecuta en el mismo equipo que se está depurando.

Configuración de la depuración de Kernel-Mode local

Para obtener información sobre cómo configurar la depuración en modo kernel local, vea Configurar local Kernel-Mode depuración de un único equipo manualmente.

Iniciar la sesión de depuración

Uso de WinDbg

Abra WinDbg como administrador. En el menú Archivo , elija Depuración de kernel. En el cuadro de diálogo Depuración de kernel, abra la pestaña Local . Seleccione Aceptar.

También puede iniciar una sesión con WinDbg abriendo una ventana del símbolo del sistema como administrador y escribiendo el siguiente comando:

windbg -kl

Uso de KD

Abra una ventana del símbolo del sistema como administrador y escriba el siguiente comando:

kd -kl

Comandos que no están disponibles

No todos los comandos están disponibles en una sesión de depuración de kernel local. Normalmente, no se puede usar ningún comando que haga que el equipo de destino se detenga, incluso momentáneamente, porque no se puede reanudar la operación.

En concreto, no puede usar los siguientes comandos:

  • Comandos de ejecución, como g (Go),p (Paso), t (Seguimiento), wt (Datos de seguimiento y inspección), tb (Seguimiento a rama siguiente), gh (Ir con control de excepciones) y gn (Ir con excepción no controlada)

  • Comandos de archivo de apagado y volcado de memoria, como .crash, .dump y .reboot

  • Comandos de punto de interrupción, como bp, bu, ba, bc, bd, be y bl

  • Registro de comandos de visualización, como r y variaciones

  • Comandos de seguimiento de pila, como k y variaciones

Si va a realizar la depuración del kernel local con WinDbg, todos los comandos de menú y botones equivalentes tampoco están disponibles.

Comandos que están disponibles

Todos los comandos de entrada y salida de memoria están disponibles. Puede leer libremente la memoria del usuario y la memoria del kernel. También puede escribir en la memoria. Asegúrese de que no escribe en la parte incorrecta de la memoria del kernel, ya que puede dañar las estructuras de datos y, con frecuencia, hace que el equipo deje de responder (es decir, bloqueo).

Dificultades para realizar la depuración del kernel local

La depuración del kernel local es una operación muy delicada. Tenga cuidado de que no dañe ni bloquee el sistema.

Uno de los aspectos más difíciles de la depuración del kernel local es que el estado de la máquina cambia constantemente. La memoria se pagina dentro y fuera, el proceso activo cambia constantemente y los contextos de dirección virtual no permanecen constantes. Sin embargo, en estas condiciones, puede analizar eficazmente las cosas que cambian lentamente, como determinados estados de dispositivo.

Los controladores en modo kernel y el sistema operativo Windows envían mensajes con frecuencia al depurador de kernel mediante DbgPrint y las funciones relacionadas. Estos mensajes no se muestran automáticamente durante la depuración del kernel local. Puede mostrarlos mediante la extensión !dbgprint .

LiveKD

La herramienta LiveKD simula la depuración del kernel local. Esta herramienta crea un archivo de volcado de "instantánea" de la memoria del kernel, sin detener realmente el kernel mientras se realiza esta instantánea. (Por lo tanto, es posible que la instantánea no muestre realmente un estado instantáneo único del equipo).

LiveKD no forma parte del paquete Herramientas de depuración para Windows. Puede descargar LiveKd desde el sitio de Windows Sysinternals.