Como ativar o rastreamento de depuração detalhado em vários drivers e subsistemas

Traduções deste artigo Traduções deste artigo
ID do artigo: 314743 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Quando você depurar drivers de dispositivo, é importante que você recebe rastreamento de depuração detalhado de drivers e subsistemas relacionados.

A maioria dos drivers fornecido pela Microsoft e subsistemas usa variáveis globais e um conjunto predefinido de valores para controlar o nível de detalhes das informações de rastreamento de depuração que são enviadas para o depurador.

Este artigo aborda os seguintes tópicos:
  • Como ativar e controlar o nível de rastreamento de depuração usando valores de depurador e registro um kernel.
  • Para uma determinada classe de drivers, você pode usar as extensões de depurador correspondente para habilitar e controlar o rastreamento de depuração.
  • As diferenças entre ativar depuração rastreamento no Windows 2000 e no Windows XP.

Mais Informações

importante Este artigo contém informações sobre execução de arquivos .chk para desenvolvimento e fins de teste. Serviços de suporte de produto da Microsoft (PSS) não suporta sistemas de produção que têm arquivos .chk instalados, a menos que você foi informado pelo PSS para instalar os arquivos .chk para isolar um problema. Antes de instalar .chk arquivos em um sistema de produção, certifique-se de fazer backup do sistema e certifique-se que você saiba como restaurar o arquivo substituído se ocorrer um problema.

Para obter mais informações sobre arquivos .chk, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
103659O programa de instalação trava ao inspecionar hardware; como usar o Ntdetect.com
320040Como usar Ntdetect.chk para identificar problemas de hardware no Windows 2000
Para obter informações sobre como fazer backup e restaurar o sistema, consulte a Ajuda do Windows 2000 e suporte. Para obter mais informações sobre NTbackups, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
240363Como usar o programa de backup para fazer backup e restaurar o estado do sistema no Windows 2000
Você também pode contatar seu provedor de produto de backup para obter informações sobre como usar seus produtos.

Observação As seguintes informações de depuração estão sujeitas a alterações a qualquer momento e se destina apenas para fins de depuração de driver. Observe também que informações de depuração não podem ser particularmente útil para qualquer pessoa diferente de desenvolvedores.

Depuração de miniporta de vídeo

Observe o seguinte sobre depuração de miniporta vídeo:
  • Ele requer drivers de miniporta e porta de vídeo de compilação verificada.
  • Ela não usa uma extensão de depurador.
  • Ele permite que o rastreamento da depuração, definindo a variável global (ou variáveis).
  • Nomes de variáveis no Windows 2000 são diferentes no Windows XP.
  • No Windows 2000, você pode ativar depuração rastreamento através do registro ou o depurador, da seguinte maneira:
    • Definir o valor de VideoDebugLevel (0-3) no registro, da seguinte maneira:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • Ou por meio do depurador, da seguinte maneira:
      ed videoprt! 2 VideoDebugLevel
  • A porta de vídeo no usa computador com Windows XP o novo DbgPrintEx funcionar (consulte a seção "Notas" deste artigo).

    As variáveis a seguir são definidas para drivers de vídeo:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    Para definir uma máscara, faça o seguinte:
    • Adicione a máscara que você deseja o registro. Por exemplo:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter ?IHVVIDEO?=DWORD: 0xffffffff
    • Ou no depurador, da seguinte maneira:
      ed Kd_IHVVIDEO_Mask 0xffffffff

depuração 1394

Observe o seguinte sobre depuração 1394:
  • Ele requer um sistema de compilação verificada ou verificado compilação 1394 módulos.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente por meio do depurador. Por exemplo:
    ed ohci1394! ohcidebuglevel 6
    Recolher esta tabelaExpandir esta tabela
      Nome do módulo    Símbolo de depuração  Intervalo
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394BUS.SYSbusdebuglevel1-5
    Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    259855Como habilitar a depuração é impresso em drivers do IEEE 1394

Depuração de USB

Observe o seguinte sobre depuração de barramento serial universal (USB):
  • Ele requer um sistema de compilação verificada ou marcada criar USB módulos.
  • Em um sistema baseado no Windows 2000, você precisará definir a variável global correspondente por meio do depurador. Por exemplo:
    ed USBD! 2 USBD_Debug_Trace_Level
    Recolher esta tabelaExpandir esta tabela
      Nome do módulo    Símbolo de depuração  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
  • Use os seguintes parâmetros em um sistema baseado no Windows XP.
    Recolher esta tabelaExpandir esta tabela
      Nome do módulo    Símbolo de depuração  Intervalo
    USBPORT.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 ou 1
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    USBPORT.SYSUSBPORT_CatcTrapEnable0-1
  • Todos os drivers de miniporta USB usam USBPORT para saída de depuração.

Depuração de PCI

Observe o seguinte sobre interconexão de componentes periféricos (PCI) depuração:
  • Ele requer um sistema de compilação verificada ou um módulo PCI.SYS verificada.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente por meio do depurador. Por exemplo (com 0 x 3 sendo mais detalhada:
    ed PCI! 0 x 3 PciDebug
    Recolher esta tabelaExpandir esta tabela
      Nome do módulo    Símbolo de depuração  Intervalo
    PCI.SYS PciDebug  0-3 

Depuração de PCMCIA

Observe o seguinte sobre a depuração PCMCIA:
  • Ele requer um sistema de compilação verificada ou um módulo de pcmcia verificada.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente por meio do depurador. Por exemplo
    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
    					
    Recolher esta tabelaExpandir esta tabela
      Nome do módulo    Símbolo de depuração  Intervalo
    PCMCIA.SYS PcmciaDebugMask  0?FFFFFFFF 

Depuração de NDIS

Observe o seguinte sobre network driver interface specification (NDIS) depuração:
  • Depuração de NDIS requer uma versão verificada NDIS.

Depuração de driver de armazenamento

Observe o seguinte sobre depuração de driver de armazenamento:
  • Ele requer um sistema de compilação verificada ou módulos de armazenamento de compilação verificada. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    296225Como para habilitar o log de depuração SCSIPORT

Depuração de driver de impressora

Observe o seguinte sobre depuração de driver de impressora.

Modo de usuário

  • Requer um sistema de compilação verificada ou componentes de driver de impressora verificada (unidrv ou pscript).
  • Anexe ao aplicativo de impressão ou ao processo do spooler (spoolsv.exe), dependendo se você está depurando o módulo de interface do usuário ou o módulo de processamento.
  • Para depuração Unidrv, use a seguinte configuração:
    ed unidrv! giDebugLevel 1

Modo de kernel

  • Executar o comando gflags e permitir que o seguinte sinalizador em spoolsv.exe:
    • Windows 2000: "local temporária alocação final de páginas"
    • Windows XP: "Ativar página heap"
  • Reinicie o spooler (net parar/iniciar spooler).
  • Execute o verifier.exe em Win32k.sys para depurar o driver da impressora.

Depuração de driver de áudio

Observe o seguinte sobre depuração de driver de áudio:
  • Ele requer um sistema de compilação verificada ou módulos de áudio de compilação verificada.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente por meio do depurador. Por exemplo:
    ed USBAUDIO! USBAudioDebugLevel 3
    Recolher esta tabelaExpandir esta tabela
       Nome do módulo       Símbolo de depuração      Intervalo  
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

Driver HID depuração

Observe o seguinte sobre depuração de driver HID:
  • Ele requer um sistema de compilação verificada ou verificada HID módulos.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente por meio do depurador. Por exemplo:
    ed HIDCLASS! dbgverbose 1
    Recolher esta tabelaExpandir esta tabela
       Nome do módulo       Símbolo de depuração      Intervalo  
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

Driver serial depuração

Observe o seguinte sobre a depuração driver serial:
  • Ele requer um sistema de compilação verificada ou verificado módulos serial de compilação.
  • Serial.sys (no Windows 2000 e sistemas baseados no Windows XP):
    • Defina o valor DebugLevel no registro, da seguinte maneira:
      HKLM\System\CurrentControlSet\Services\Serial ? DebugLevel ? = REG_DWORD:0xFFFFFFFF
      Ou definidas por meio do depurador, da seguinte maneira:
      ed serial! SerialDebugLevel (0 x 00000000 ? 0xFFFFFFFF)
    • Valores de máscara são definidos no seguinte diretório:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum.sys (no Windows 2000 e sistemas baseados no Windows XP):
    • Defina o valor DebugLevel no registro, da seguinte maneira:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum ? DebugLevel ? = REG_DWORD:1FF
    • Valores de máscara são definidos no seguinte diretório:
      %DDKROOT%\src\kernel\serenum\serenum.h

Depuração de driver de modem

Para habilitar completo unimodem detalhado de depuração no Windows 2000 e sistemas baseados no Windows XP, você precisa ter uma versão verificada e, em seguida, faça o seguinte:
  1. Para tudo, exceto Mdminst.dll e Unimdm.tsp, adicione as seguintes chaves do 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 obter Mdminst.dll, copie Unimdm.ini em %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 depuração Unimdm.tsp, adicione a seguinte chave do Registro:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\device instance\Logging

Depuração de instalação de dispositivo

Para receber um rastreamento detalhado de kernel e usermode gerenciador PNP no Windows XP e versões posteriores, você precisará obter uma versão verificada e, em seguida, executar o código a seguir:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
No Windows 2000, você pode definir variável global PnpEnumDebugLevel como 1 ou 2 no depurador do kernel da seguinte maneira:
ed nt!PnpEnumDebugLevel 2

Anotações

Alguns dos drivers e subsistemas em sistemas com Windows XP usam a nova função DbgPrintEx :
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft definiu aproximadamente 95 componente diferente IDs (procure DPFLTR_TYPE no arquivo Ntddk.h). Para cada identificação de filtro de componente, há uma variável global máscara, por exemplo,
NT! Kd_IHVVIDEO_Mask, NT! Kd_IHVAUDIO_Mask
Você pode definir o valor da máscara de por meio do Registro, da seguinte maneira:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter

? IHV_AUDIO ? = REG_DWORD:0xFFFFFFFF ou com um depurador, por exemplo,
ed NT! Kd_IHVAUDIO_Mask 0xffffffff
Saída de depuração é filtrada com base na máscara global (Kd_Win2000_Mask) e a máscara do nível de componente. O arquivo de Ajuda do WinDBG documentos como os valores de máscara e nível são usados na filtragem de saída.

Para ativar o rastreamento de depuração, use o código a seguir para localizar sua ID de componente do arquivo Ntddk.h ou do depurador:
x NT!Kd_*_Mask
				
em seguida, defina o valor máximo para saída detalhada (0xffffffff). Atualmente, apenas algumas classes de drivers (descrito em "Mais informações" seção deste artigo) usar essa nova função.

Propriedades

ID do artigo: 314743 - Última revisão: segunda-feira, 1 de outubro de 2007 - Revisão: 6.0
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbmt kbbug kbdebug kbdisplay kbfile kbhowto kbinfo kbinput kbkmode kbndis kbplugplay kbserial kbusb kbwdm KB314743 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 314743

Submeter comentários

 

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