Cómo habilitar el seguimiento de depuración detallado en diversos controladores y subsistemas

Seleccione idioma Seleccione idioma
Id. de artículo: 314743 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Cuando depura los controladores de dispositivo, es importante que recibas el seguimiento de depuración detallada de los controladores y subsistemas relacionados.

La mayoría de los controladores proporcionados por Microsoft y subsistemas utilizar variables globales y un conjunto de valores predefinidos para controlar el nivel de detalle de la información de seguimiento de depuración que se envía al depurador.

En este artículo se trata los temas siguientes:
  • Cómo habilitar y controlar el nivel de seguimiento de depuración mediante un valor de depurador y el registro de núcleo.
  • Para una determinada clase de controladores, puede utilizar las extensiones del depurador correspondiente para habilitar y controlar el seguimiento de depuración.
  • Las diferencias entre habilitar depuración de seguimiento en Windows 2000 y Windows XP.

Más información

importante Este artículo contiene información acerca de ejecutar archivos .chk para desarrollo y pruebas. Soporte técnico de Microsoft (PSS) no es compatible con sistemas de producción que tengan archivos .chk instalados a menos que se indique por PSS para instalar los archivos .chk para aislar un problema. Antes de instalar archivos .chk en un sistema de producción, asegúrese de que hacer copia de seguridad del sistema y asegúrese de que sabe cómo restaurar el archivo reemplazado si se produce un problema.

Para obtener más información acerca de los archivos .chk, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
103659El programa de instalación se bloquea al inspeccionar el hardware; cómo usar Ntdetect.com
320040Cómo utilizar Ntdetect.chk para identificar problemas de hardware en Windows 2000
Para obtener información acerca de cómo realizar una copia de seguridad y restaurar el sistema, consulte la Ayuda de Windows 2000 y soporte técnico. Para obtener más información acerca de NTbackups, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
240363Cómo utilizar el programa copia de seguridad para realizar una copia de seguridad y restaurar el estado del sistema en Windows 2000
También puede ponerse en contacto con su proveedor de producto de copia de seguridad para información acerca de cómo utilizar su producto.

Nota La siguiente información de depuración está sujeta a cambios en cualquier momento y está destinada únicamente con fines de depuración en el controlador. Tenga en cuenta también que la información de depuración no puede ser especialmente útil para nadie distinto de los desarrolladores.

Depuración de minipuerto de vídeo

Tenga en cuenta lo siguiente sobre depuración de minipuerto de vídeo:
  • Requiere los compilación comprobada puerto y minipuerto controladores de vídeo.
  • No se utiliza una extensión de depurador.
  • Permite el seguimiento de depuración estableciendo la variable global (o variables).
  • Nombres de variables en Windows 2000 son diferentes de los de Windows XP.
  • En Windows 2000, puede habilitar la depuración seguimiento mediante el registro o el depurador, como sigue:
    • Establecer el valor de VideoDebugLevel (0-3) en el registro, como sigue:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • O mediante el depurador, como sigue:
      ed videoprt! 2 VideoDebugLevel
  • El puerto de vídeo en un utiliza equipo basado en Windows el nuevo DbgPrintEx función (consulte la sección "Notas" de este artículo).

    Las variables siguientes se definen para los controladores de vídeo:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    Para establecer una máscara, haga lo siguiente:
    • Agregar la máscara que desee en el registro. Por ejemplo:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter ?IHVVIDEO?=DWORD: 0xffffffff
    • O en el depurador, como sigue:
      ed Kd_IHVVIDEO_Mask 0xffffffff

depuración 1394

Tenga en cuenta lo siguiente acerca de la depuración 1394:
  • Se requiere un sistema de compilación comprobada o comprueban los módulos de 1394 de generación.
  • En Windows 2000 y sistemas basados en Windows XP, establezca la variable global correspondiente a través del depurador. Por ejemplo:
    ed ohci1394! ohcidebuglevel 6
    Contraer esta tablaAmpliar esta tabla
      Nombre del módulo    Símbolos de depuración  Intervalo
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394BUS.SYSbusdebuglevel1-5
    Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    259855Cómo habilitar la depuración se imprime en controladores IEEE 1394

Depuración USB

Tenga en cuenta lo siguiente sobre la depuración de bus serie universal (USB):
  • Se requiere un sistema de compilación comprobada o comprueba generación USB módulos.
  • En un sistema basado en Windows 2000, deberá establecer la variable global correspondiente a través del depurador. Por ejemplo:
    ed USBD! 2 USBD_Debug_Trace_Level
    Contraer esta tablaAmpliar esta tabla
      Nombre del módulo    Símbolos de depuración  Intervalo
    UHCD.SYSUHCD_Debug_Trace_Level0-2
    OPENHCI.SYSOHCI_Debug_Trace_Level0-2
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
  • Utilizar los siguientes parámetros en un sistema basado en Windows XP.
    Contraer esta tablaAmpliar esta tabla
      Nombre del módulo    Símbolos de depuración  Intervalo
    USBPORT.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 ó 1
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    USBPORT.SYSUSBPORT_CatcTrapEnable0-1
  • Todos los controladores de minipuerto USB utilizan USBPORT para resultados de depuración.

Depuración de PCI

Tenga en cuenta lo siguiente acerca de componentes periféricos Interconnect (PCI) depuración:
  • Requiere un sistema de compilación comprobada o un módulo PCI.SYS compilación comprobada.
  • En Windows 2000 y sistemas basados en Windows XP, establezca la variable global correspondiente a través del depurador. Por ejemplo (con 0 x 3 está más detallado:
    ed PCI! 0 x 3 PciDebug
    Contraer esta tablaAmpliar esta tabla
      Nombre del módulo    Símbolos de depuración  Intervalo
    PCI.SYS PciDebug  0-3 

Depuración de PCMCIA

Tenga en cuenta lo siguiente acerca de la depuración de PCMCIA:
  • Requiere un sistema de compilación comprobada o un módulo de pcmcia de compilación comprobada.
  • En Windows 2000 y sistemas basados en Windows XP, establezca la variable global correspondiente a través del depurador. Por ejemplo
    ed PCMCIA! PcmciaDebugMask 0xFFFFFFFF
    where:
    #define PCMCIA_DEBUG_ALL       0xFFFFFFFF
    #define PCMCIA_DEBUG_TUPLES    0x00000001
    #define PCMCIA_DEBUG_ENABLE    0x00000002
    #define PCMCIA_DEBUG_PARSE     0x00000004
    #define PCMCIA_DUMP_CONFIG     0x00000008
    #define PCMCIA_DEBUG_INFO      0x00000010
    #define PCMCIA_DEBUG_IOCTL     0x00000020
    #define PCMCIA_DEBUG_DPC       0x00000040
    #define PCMCIA_DEBUG_ISR       0x00000080
    #define PCMCIA_DEBUG_CANCEL    0x00000100
    #define PCMCIA_DUMP_SOCKET     0x00000200
    #define PCMCIA_READ_TUPLE      0x00000400
    #define PCMCIA_SEARCH_PCI      0x00000800
    #define PCMCIA_DEBUG_FAIL      0x00008000
    #define PCMCIA_PCCARD_READY    0x00010000
    #define PCMCIA_DEBUG_DETECT    0x00020000
    #define PCMCIA_COUNTERS        0x00040000
    #define PCMCIA_DEBUG_OVERRIDES 0x00080000
    #define PCMCIA_DEBUG_IRQMASK   0x00100000
    					
    Contraer esta tablaAmpliar esta tabla
      Nombre del módulo    Símbolos de depuración  Intervalo
    PCMCIA.SYS PcmciaDebugMask  0?FFFFFFFF 

Depuración de NDIS

Tenga en cuenta lo siguiente acerca de la especificación de interfaz de controlador de red (NDIS) depuración:
  • Depuración de NDIS requiere una compilación comprobada de NDIS.

Depuración de controlador de almacenamiento

Tenga en cuenta lo siguiente sobre depuración de controlador de almacenamiento:
  • Se requiere un sistema de compilación comprobada o comprueban los módulos de almacenamiento de generación. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    296225Cómo habilitar el registro de depuración SCSIPORT

Depuración de controlador de impresora

Tenga en cuenta lo siguiente sobre depuración de controlador de impresora.

Modo de usuario

  • Requiere un sistema de compilación comprobada o componentes de controlador de impresora de compilación comprobada (unidrv o pscript).
  • Adjuntar a la aplicación de impresión o el proceso de cola de impresión (spoolsv.exe) en dependiendo de si está depurando el módulo de interfaz de usuario o el módulo de procesamiento.
  • Para depurar Unidrv, utilice la siguiente configuración:
    ed unidrv! giDebugLevel 1

Modo de núcleo

  • Ejecute el comando gflags y, a continuación, habilita el indicador siguiente en spoolsv.exe:
    • Windows 2000: "sitio montón asignación final de las páginas"
    • Windows XP: "Habilitar página montón"
  • Reinicie a la cola (net stop/start spooler).
  • Ejecutar verifier.exe en Win32k.sys para depurar el controlador de impresora.

Depuración de controlador de audio

Tenga en cuenta lo siguiente sobre depuración de controlador de audio:
  • Se requiere un sistema de compilación comprobada o comprueban los módulos de audio de generación.
  • En Windows 2000 y sistemas basados en Windows XP, establezca la variable global correspondiente a través del depurador. Por ejemplo:
    ed USBAUDIO! 3 USBAudioDebugLevel
    Contraer esta tablaAmpliar esta tabla
       Nombre del módulo       Símbolos de depuración      Intervalo  
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

Controlador HID de depuración

Tenga en cuenta lo siguiente sobre depuración de controlador HID:
  • Se requiere un sistema de compilación comprobada o comprueba generación HID módulos.
  • En Windows 2000 y sistemas basados en Windows XP, establezca la variable global correspondiente a través del depurador. Por ejemplo:
    ed HIDCLASS! dbgverbose 1
    Contraer esta tablaAmpliar esta tabla
       Nombre del módulo       Símbolos de depuración      Intervalo  
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

Controlador serie depuración

Tenga en cuenta lo siguiente sobre depuración del controlador serie:
  • Se requiere un sistema de compilación comprobada o comprueban los módulos de serie de generación.
  • Serial.sys (en Windows 2000 y sistemas basados en Windows XP):
    • Establezca el valor de DebugLevel en el registro, como sigue:
      HKLM\System\CurrentControlSet\Services\Serial ? DebugLevel ? = REG_DWORD:0xFFFFFFFF
      O establezca mediante el depurador, como sigue:
      ed serie! SerialDebugLevel (0 x 00000000 ? 0xFFFFFFFF)
    • Valores de máscara están definidos en el directorio siguiente:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum.sys (en Windows 2000 y sistemas basados en Windows XP):
    • Establezca el valor de DebugLevel en el registro, como sigue:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum ? DebugLevel ? = REG_DWORD:1FF
    • Valores de máscara están definidos en el directorio siguiente:
      %DDKROOT%\src\kernel\serenum\serenum.h

Depuración de controlador de módem

Para habilitar completo unimodem detallado de depuración en Windows 2000 y sistemas basados en Windows XP, deberá tener una compilación comprobada y, a continuación, haga lo siguiente:
  1. Para todo excepto Mdminst.dll y Unimdm.TSP, agregue las siguientes claves del registro:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unimodem "DebugFlags"=dword:0000003f
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon "SFCDisable"=dword:00000001
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Modem "DebugFlags"=dword:0000003f
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Modemcsa "DebugFlags"=dword:0000003f
  2. Para Mdminst.dll, copie Unimdm.ini en %windir%. The following is an example of a Unimdm.ini file:
    [ModemUI]
    ; DumpFlags:
    ;    00000001   DCB
    ;    00000002   MODEMSETTINGS
    ;    00000004   DEVCAPS
    DumpFlags=0x0000000f
    
    ; TraceFlags:
    ;    00000001   Warnings
    ;    00000002   Errors
    ;    00000004   General 
    ;    00000008   Function trace
    TraceFlags=0x0000000f
    
    ; BreakFlags:
    ;    00000001   Break on validate
    ;    00000040   Break on process attach
    ;    00000100   Break on API enter
    BreakFlags=0x00000000
    
    ;; --------------------------------------------------------------------
    
    [Modem]
    ; DumpFlags:
    DumpFlags=0x0000000f
    
    ; TraceFlags:
    ;    00000001   Warnings
    ;    00000002   Errors
    ;    00000004   General 
    ;    00000008   Function trace
    ;    00010000   Detection queries
    ;    00020000   Class installer trace
    TraceFlags=0x0003000f
    
    ; BreakFlags:
    ;    00000001   Break on validate
    ;    00000040   Break on process attach
    ;    00000100   Break on API enter
    BreakFlags=0x00000000
    
    ;; --------------------------------------------------------------------
    
    [SerialUI]
    ; DumpFlags:
    ;    00000001   DCB
    DumpFlags=0x00000000
    
    ; TraceFlags:
    ;    00000001   Warnings
    ;    00000002   Errors
    ;    00000004   General 
    ;    00000008   Function trace
    TraceFlags=0x00000000
    
    ; BreakFlags:
    ;    00000001   Break on validate
    ;    00000040   Break on process attach
    ;    00000100   Break on API enter
    BreakFlags=0x00000000
    
    ;; --------------------------------------------------------------------
    
    [Unimdm]
    ; DumpFlags:
    DumpFlags=0x0000000f
    
    ; TraceFlags:
    ;    00000001   Warnings
    ;    00000002   Errors
    ;    00000004   General 
    ;    00000008   Function trace
    ;    00010000   dwDeviceID related
    ;    00020000   hdLine related
    ;    00040000   hdCall related
    ;    00080000   pLineDev related
    ;    00100000   pModemInfo related
    TraceFlags=0x001f000f
    
    ; BreakFlags:
    ;    00000001   Break on validate
    ;    00000040   Break on process attach
    ;    00000080   Break on process detach
    ;    00000100   Break on API enter
    BreakFlags=0x00000000
    					
  3. Para la depuración Unimdm.TSP, agregue la clave del Registro siguiente:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\device instance\Logging

Depuración de la instalación de dispositivos

Para recibir un seguimiento detallado de núcleo y modo de usuario administrador PNP de Windows XP y versiones posteriores, hay que obtener una compilación comprobada y ejecute el siguiente código:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
En Windows 2000, puede establecer variable global PnpEnumDebugLevel en 1 o 2 en el depurador del núcleo como sigue:
ed nt!PnpEnumDebugLevel 2

Notas

Algunos de los controladores y subsistemas en sistemas basados en Windows XP utilizan la nueva función DbgPrintEx :
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft ha definido identificadores aproximadamente 95 componente diferente (busque DPFLTR_TYPE en el archivo Ntddk.h). Para cada ID de filtro del componente, hay una variable global de la máscara, por ejemplo,
NT! Kd_IHVVIDEO_Mask, NT! Kd_IHVAUDIO_Mask
Puede establecer el valor de la máscara a través del registro, como sigue:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter

? IHV_AUDIO ? = REG_DWORD:0xFFFFFFFF o con un depurador, por ejemplo,
ed NT! Kd_IHVAUDIO_Mask 0xffffffff
Salida de depuración se filtra basándose en la máscara global (Kd_Win2000_Mask) y la máscara del nivel de componente. El archivo de Ayuda de WinDbg documenta cómo los valores de máscara y nivel se utilizan en los resultados de filtrado.

Para habilitar el seguimiento de depuración, utilice el código siguiente para localizar el identificador del componente desde el archivo Ntddk.h o desde el depurador:
x NT!Kd_*_Mask
				
Then, establecen el valor en el máximo para el resultado detallado (0xffffffff). Actualmente, sólo unas cuantas clases de controladores (descrito en el "más información" sección de este artículo) para utilizar esta nueva función.

Propiedades

Id. de artículo: 314743 - Última revisión: lunes, 1 de octubre de 2007 - Versión: 6.0
La información de este artículo se refiere a:
  • Microsoft Windows XP Driver Development Kit
  • Microsoft Win32 Device Driver Kit for Windows 2000
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
Palabras clave: 
kbmt kbbug kbdebug kbdisplay kbfile kbhowto kbinfo kbinput kbkmode kbndis kbplugplay kbserial kbusb kbwdm KB314743 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 314743

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com