Envío de salida al depurador

El modo de usuario y el código en modo kernel usan rutinas diferentes para enviar la salida al depurador.

Rutinas de salida de User-Mode

La rutina OutputDebugString envía una cadena terminada en null al depurador del proceso de llamada. En un controlador en modo de usuario, OutputDebugString muestra la cadena en la ventana Comando del depurador. Si un depurador no se está ejecutando, esta rutina no tiene ningún efecto. OutputDebugString no admite los argumentos de variable de una cadena con formato printf .

El prototipo de esta rutina es el siguiente:

VOID OutputDebugString(
   LPCTSTR lpOutputString
   );

Para obtener documentación completa de esta rutina, consulte Comunicación con el depurador.

Rutinas de salida de Kernel-Mode

La rutina DbgPrint muestra la salida en la ventana del depurador. Esta rutina admite los parámetros de formato printf básicos. Solo los controladores en modo kernel pueden llamar a DbgPrint.

La rutina DbgPrintEx es similar a DbgPrint, pero le permite "etiquetar" los mensajes. Al ejecutar el depurador, solo puede permitir que se envíen esos mensajes con determinadas etiquetas. Esto le permite ver solo los mensajes que le interesan. Para obtener más información, consulte Lectura y filtrado de mensajes de depuración.

Las macros KdPrint y KdPrintEx son idénticas a DbgPrint y DbgPrintEx, respectivamente, cuando se compilan en el entorno de compilación comprobado. Cuando se compila en el entorno de compilación libre, no tienen ningún efecto.