Como activar o rastreio de depuração verboso em vários controladores e subsistemas

Traduções de Artigos Traduções de Artigos
Artigo: 314743 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Quando depura controladores de dispositivo, é importante que recebeu o rastreio de depuração verboso de controladores e subsistemas relacionados.

Maior parte dos controladores fornecidos pelo Microsoft e subsistemas de utilizar um conjunto predefinido de valores e variáveis globais para controlar a verbosidade as informações de rastreio de depuração que é enviada para o depurador.

Este artigo aborda os seguintes tópicos:
  • Como activar e controlar o nível de rastreio de depuração utilizando um valor de depurador e registo de kernel.
  • Para uma determinada classe de controladores, pode utilizar as extensões de depurador correspondente para activar e controlar o rastreio da depuração.
  • As diferenças entre Activar depuração rastreio no Windows 2000 e Windows XP.

Mais Informação

importante Este artigo contém informações sobre como executar ficheiros .chk para desenvolvimento e testes. Serviços de suporte de produto na Microsoft (PSS) não suporta sistemas de produção que tenham ficheiros .chk instalados a menos que foram indicado pelo suporte técnico da Microsoft para instalar os ficheiros .chk para isolar um problema. Antes de instalar ficheiros .chk um sistema de produção, certifique-se de cópia de segurança do sistema e certifique-se de que compreende como o restaurar o ficheiro substituído se ocorrer um problema.

Para obter mais informações sobre ficheiros .chk, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
103659O programa de configuração não reage durante a inspecção hardware; como utilizar o Ntdetect.com
320040Como utilizar Ntdetect.chk para identificar problemas de hardware no Windows 2000
Para obter informações sobre como efectuar uma cópia de segurança e restaurar o sistema, consulte a ajuda do Windows 2000 e suporte. Para obter mais informações sobre NTbackups, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
240363Como utilizar o programa de cópia de segurança para efectuar cópias de segurança e restaurar o estado do sistema no Windows 2000
Também pode contactar o fornecedor de cópia de segurança do produto para obter informações sobre como utilizar os seus produtos.

Nota A seguinte informação de depuração está sujeitas a alteração em qualquer altura e se destina apenas para fins de depuração de controlador. Também repare que informações de depuração podem não ser particularmente útil para qualquer pessoa seja programadores.

Depuração miniport de vídeo

Tenha em atenção o seguinte sobre a depuração miniport de vídeo:
  • Requer controladores de porta e miniport vídeo no compilação verificada.
  • Não utiliza uma extensão do depurador.
  • Permite o rastreio da depuração definindo a variável global (ou variáveis).
  • Os nomes das variáveis no Windows 2000 são diferentes no Windows XP.
  • No Windows 2000, pode activar a depuração rastrear através do registo ou o depurador, da seguinte forma:
    • Definir o valor de VideoDebugLevel (0-3) no registo, da seguinte forma:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • Ou através de depurador, da seguinte forma:
      videoprt ed! 2 VideoDebugLevel
  • A porta de vídeo num computador baseado no Windows XP utiliza o novo DbgPrintEx funcionar (consulte a secção "Notas" deste artigo).

    As seguintes variáveis definidas para controladores de vídeo:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    Para definir uma máscara, efectue o seguinte:
    • Adicione a máscara que pretende adicionar o registo. Por exemplo:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter ?IHVVIDEO?=DWORD: 0xffffffff
    • Ou no depurador, da seguinte forma:
      ed Kd_IHVVIDEO_Mask 0xffffffff

depuração 1394

Tenha em atenção o seguinte sobre depuração 1394:
  • Requer um sistema de compilação verificada ou marcada compilação 1394 módulos.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente através do depurador. Por exemplo:
    ohci1394 ed! ohcidebuglevel 6
    Reduzir 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 de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    259855Como activar a depuração imprime controladores IEEE 1394

Depuração de USB

Tenha em atenção o seguinte sobre a depuração (universal serial bus):
  • Requer um sistema de compilação verificada ou verificado criar USB módulos.
  • Num sistema baseado no Windows 2000, tem de definir a variável global correspondente através do depurador. Por exemplo:
    ed USBD! 2 USBD_Debug_Trace_Level
    Reduzir 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
  • Utilize os seguintes parâmetros num sistema baseado no Windows XP.
    Reduzir 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 controladores miniport USB utilizam USBPORT para saída de depuração.

Depuração PCI

Tenha em atenção o seguinte sobre Interconnect PCI (Peripheral Component) depuração:
  • Requer um sistema de compilação verificada ou um módulo PCI.SYS compilação verificada.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente através do depurador. Por exemplo (com a maior verbosidade 0 x 3:
    ed PCI! PciDebug 0 x 3
    Reduzir esta tabelaExpandir esta tabela
      Nome do módulo    Símbolo de depuração  Intervalo
    PCI.SYS PciDebug  0-3 

Depuração PCMCIA

Tenha em atenção o seguinte sobre PCMCIA de depuração:
  • Requer um sistema de compilação verificada ou um módulo de pcmcia compilação verificada.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente através 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
    					
    Reduzir esta tabelaExpandir esta tabela
      Nome do módulo    Símbolo de depuração  Intervalo
    PCMCIA.SYS PcmciaDebugMask  0?FFFFFFFF 

Depuração de NDIS

Tenha em atenção o seguinte sobre a especificação da interface do controlador de rede (NDIS) depuração:
  • Depuração NDIS requer uma compilação verificada NDIS.

Depuração de controlador de armazenamento

Tenha em atenção o seguinte sobre a depuração de controlador de armazenamento:
  • Requer um sistema de compilação verificada ou marcada módulos de armazenamento de compilação. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    296225Como activar o registo de depuração SCSIPORT

Depuração de controlador de impressora

Tenha em atenção o seguinte sobre a depuração de controlador de impressora.

Modo de utilizador

  • Requer um sistema de compilação verificada ou componentes de controlador de impressora compilação verificada (unidrv ou pscript).
  • Anexe a aplicação de impressão ou o processo de spooler (spoolsv.exe), dependendo se estiver a depurar o módulo de interface (UI, User Interface) do utilizador ou o módulo de composição.
  • Para depuração Unidrv, utilize a seguinte definição:
    unidrv ed! giDebugLevel 1

Modo de kernel

  • Execute o comando gflags e, em seguida, activar o sinalizador seguinte no spoolsv.exe:
    • Windows 2000: "local Heap atribuição final de páginas"
    • Windows XP: "Activar página de memória"
  • Reinicie o spooler (net stop/start spooler).
  • Execute verifier.exe no Win32k.sys para depurar o controlador de impressora.

Depuração de controlador de áudio

Tenha em atenção o seguinte sobre a depuração de controlador de áudio:
  • Requer um sistema de compilação verificada ou marcada módulos de áudio de compilação.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente através do depurador. Por exemplo:
    ed USBAUDIO! USBAudioDebugLevel 3
    Reduzir esta tabelaExpandir esta tabela
       Nome do módulo       Símbolo de depuração      Intervalo  
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

Controlador HID de depuração

Tenha em atenção o seguinte sobre a depuração de controlador HID:
  • Requer um sistema de compilação verificada ou verificado compilação HID módulos.
  • No Windows 2000 e sistemas baseados no Windows XP, defina a variável global correspondente através do depurador. Por exemplo:
    ed HIDCLASS! dbgverbose 1
    Reduzir esta tabelaExpandir esta tabela
       Nome do módulo       Símbolo de depuração      Intervalo  
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

Controlador série de depuração

Tenha em atenção o seguinte sobre depuração do controlador série:
  • Requer um sistema de compilação verificada ou marcada módulos de série de compilação.
  • Serial.sys (no Windows 2000 e sistemas baseados no Windows XP):
    • Defina o valor DebugLevel no registo, da seguinte forma:
      HKLM\System\CurrentControlSet\Services\Serial ? DebugLevel ? = REG_DWORD:0xFFFFFFFF
      Ou defina-ao depurador, da seguinte forma:
      ed série! SerialDebugLevel (0 x 00000000 ? 0xFFFFFFFF)
    • Valores de máscara são definidos no seguinte directório:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum.sys (no Windows 2000 e sistemas baseados no Windows XP):
    • Defina o valor DebugLevel no registo, da seguinte forma:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum ? DebugLevel ? = REG_DWORD:1FF
    • Valores de máscara são definidos no seguinte directório:
      %DDKROOT%\src\kernel\serenum\serenum.h

Depuração de controlador de modem

Para activar full unimodem verboso de depuração no Windows 2000 e sistemas baseados no Windows XP, terá de ter uma compilação verificada e, em seguida, efectue o seguinte:
  1. Para tudo, excepto Mdminst.dll e Unimdm.tsp, adicione as seguintes chaves de registo:
    • 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 para %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 de registo:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\device instance\Logging

Depuração de instalação do dispositivo

Para receber um rastreio de verbose do kernel e modo de utilizador Gestor PNP no Windows XP e versões posteriores, tem de obter uma compilação verificada e execute o seguinte código:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
No Windows 2000, pode definir variável global PnpEnumDebugLevel para 1 ou 2 no depurador kernel da seguinte forma:
ed nt!PnpEnumDebugLevel 2

Notas

Alguns dos controladores e subsistemas de sistemas baseados no Windows XP utilizam a nova função DbgPrintEx :
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft definiu o ID de componente diferentes sobre 95 (procure DPFLTR_TYPE no ficheiro Ntddk.h). Para cada ID de filtro do componente, existe uma variável global máscara, por exemplo,
NT! Kd_IHVVIDEO_Mask, NT! Kd_IHVAUDIO_Mask
Pode definir o valor da máscara de através do registo, da seguinte forma:
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 está filtrada com base na máscara global (Kd_Win2000_Mask) e a máscara de nível do componente. O ficheiro de ajuda WinDbg documentos como os valores de máscara e nível são utilizados na filtragem de saída.

Para activar o rastreio da depuração, utilize o seguinte código para localizar o ID de componente a partir do ficheiro Ntddk.h ou do depurador:
x NT!Kd_*_Mask
				
em seguida, defina o valor máximo para saída verbosa (0xffffffff). Actualmente, apenas algumas classes de controladores (descritos o "mais informação" secção deste artigo) utilizar esta nova função.

Propriedades

Artigo: 314743 - Última revisão: 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 para 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 Edition
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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