Jak povolit trasování verbose ladění v různých ovladačů a subsystémů

Souhrn

Při ladění ovladače zařízení, je důležité přijímat trasování verbose ladění pomocí ovladače a související podsystémy.

Většina ovladačů dodaných společností Microsoft a podsystémy slouží k ovládání podrobnost informací ladění trasování, která je odeslána ladicí program globální proměnné a sady předdefinovaných hodnot.

Tento článek pojednává o následujících tématech:
  • Jak povolit a řídit úroveň trasování ladění pomocí jádra ladicí program a registru hodnoty.
  • Pro určité třídy ovladačů můžete použít odpovídající rozšíření debugger povolit a řídit trasování ladění.
  • Rozdíly mezi povolení ladění trasování v systému Windows 2000 a Windows XP.

Další informace

Důležité: Tento článek obsahuje informace o spouštění souborů CHK pro vývoj a testování. Microsoft Product podporují Services (PSS) nepodporuje výrobních systémů, které mají CHK soubory nainstalovány, pokud bylo oznámeno oddělením služeb technické podpory, chcete-li nainstalovat soubory CHK izolovat problém. Před instalací souborů CHK ve výrobním systému, přesvědčte se, zda zálohovat systém a ujistěte se, že dokážete nahrazen soubor obnovit, pokud dojde k potížím.

Další informace o soubory CHK získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

103659 instalační program přestane reagovat při kontrole hardware. jak používat Ntdetect.com

320040 způsob použití Ntdetect.chk identifikovat problémy s hardwarem v systému Windows 2000

Informace o zálohování a obnovení systému zobrazení nápovědy systému Windows 2000 a podpora. Další informace o NTbackups, klepněte na následující čísla článků v článcích znalostní báze společnosti Microsoft:

Jak 240363 použití nástroje Zálohování k zálohování a obnovení stavu systému v systému Windows 2000

Můžete také kontaktovat poskytovatele produktu záložní informace o použití svých produktů.


Poznámka: Následující ladicí informace se mohou změnit kdykoli a je určena pouze pro účely ladění ovladač. Všimněte si také, že informace o ladění nemusí být užitečné nikomu jinému než vývojáři.

Ladění miniportu videa

Poznámka: následující o ladění miniportu videa:
  • To vyžaduje ovladače videa port a miniportu kontrolované sestavení.
  • Rozšíření ladicího programu nepoužívá.
  • Umožňuje ladění trasování nastavením globální proměnné (či proměnné).
  • Názvy proměnných v systému Windows 2000 se liší od těch v systému Windows XP.
  • V systému Windows 2000 můžete povolit trasování ladění pomocí registru nebo ladicí program, takto:
    • Nastavte hodnotu VideoDebugLevel (0-3) v registru takto: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • Nebo pomocí ladicího programu, a to následujícím způsobem:
      ED videoprt! VideoDebugLevel 2
  • Port videa v počítači se systémem Windows XP používá nový DbgPrintEx fungovat (naleznete v části "Poznámky" tohoto článku).

    Následující proměnné jsou definovány pro ovladače videa:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    Chcete-li nastavit masku, postupujte takto:
    • Přidání masky, která má v registru. Příklad: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug tisk filtr "IHVVIDEO" = DWORD: 0xffffffff
    • Nebo v debuggeru následujícím způsobem:
      ED Kd_IHVVIDEO_Mask 0xffffffff

ladění 1394

Poznámka: následující o 1394 ladění:
  • Vyžaduje systém kontrolovaného sestavení, nebo moduly 1394 sestavení kontrolovány.
  • V systému Windows 2000 a systémem Windows XP nastavte odpovídající globální proměnnou pomocí ladicího programu. Například:
    ED ohci1394! ohcidebuglevel 6
    Název moduluDebug symbolRozsah
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394BUS.SYSbusdebuglevel1-5
    Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

    259855 povolení ladění se tiskne ovladače IEEE 1394

Ladění USB

Poznámka: následující o ladění universal serial bus (USB):
  • Vyžaduje systém kontrolovaného sestavení nebo sestavení modulů USB zkontrolovat.
  • V systému se systémem Windows 2000 je nutné nastavit odpovídající globální proměnnou pomocí ladicího programu. Například:
    ED USBD! USBD_Debug_Trace_Level 2
    Název moduluDebug symbolRozsah
    UHCD.SYSUHCD_Debug_Trace_Level0-2
    OPENHCI.SYSOHCI_Debug_Trace_Level0-2
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
  • V systému Windows XP, použijte následující parametry.
    Název moduluDebug symbolRozsah
    USBPORT.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 nebo 1
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    USBPORT.SYSUSBPORT_CatcTrapEnable0-1
  • Všechny ovladače miniportu USB USBPORT slouží pro výstup ladění.

Ladění PCI

Poznámka: následující o ladění Peripheral Component (Interconnect PCI):
  • Vyžaduje systém kontrolovaného sestavení nebo kontrolované sestavení PCI. Modulu SYS.
  • V systému Windows 2000 a systémem Windows XP nastavte odpovídající globální proměnnou pomocí ladicího programu. Například (s 0x3 právě většina verbose:
    ED PCI! PciDebug 0x3
    Název moduluDebug symbolRozsah
    PCI.SYSPciDebug 0-3 

Ladění PCMCIA

Poznámka: následující o PCMCIA ladění:
  • Vyžaduje systém kontrolovaného sestavení nebo modul pcmcia kontrolované sestavení.
  • V systému Windows 2000 a systémem Windows XP nastavte odpovídající globální proměnnou pomocí ladicího programu. Například
    ED PCMCIA! PcmciaDebugMask 0xFFFFFFFF
    kde:
    #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

    Název moduluDebug symbolRozsah
    PCMCIA.SYSPcmciaDebugMask 0–FFFFFFFF 

NDIS ladění

Poznámka: následující o ladění sítě ovladač rozhraní specifikace (NDIS):
  • Kontrolované sestavení NDIS ladění NDIS vyžaduje.

Ladění ovladač úložiště

Poznámka: následující o ladění ovladač úložiště:
  • Vyžaduje systém kontrolovaného sestavení, nebo Zkontrolovat moduly úložiště sestavení. Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:

    296225 jak povolit SCSIPORT protokolování při ladění

Ladění ovladač tiskárny

Poznámka: následující o ladění ovladač tiskárny.

Uživatelský režim

  • Vyžaduje systém kontrolovaného sestavení nebo kontrolované sestavení součásti ovladače tiskárny (unidrv nebo pscript).
  • Připojte k tisku aplikace nebo proces zařazování tisku (spoolsv.exe), podle toho, zda ladění uživatelského rozhraní (UI) modulu nebo modulu vykreslování.
  • Pro ladění Unidrv, použijte následující nastavení:
    ED unidrv! giDebugLevel 1

V režimu jádra

  • Spustit příkaz gflags a potom povolit následující příznak v spoolsv.exe:
    • Systém Windows 2000: "místo přidělení haldy na konci stránky"
    • Systém Windows XP: "Povolit stránku haldy"
  • Restartujte službu zařazování tisku (net stop/start zařazovací služby).
  • V souboru Win32K.sys ladit ovladače tiskárny spusťte verifier.exe.

Zvukový ovladač ladění

Poznámka: následující o ladění ovladače zvukové karty:
  • Vyžaduje systém kontrolovaného sestavení, nebo zkontrolovat zvukové moduly v sestavení.
  • V systému Windows 2000 a systémem Windows XP nastavte odpovídající globální proměnnou pomocí ladicího programu. Například:
    ED USBAUDIO! USBAudioDebugLevel 3
    Název moduluDebug symbolRozsah
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

Ladění ovladače standardu HID

Poznámka: následující o ladění ovladače standardu HID:
  • Vyžaduje systém kontrolovaného sestavení, nebo kontrole sestavení HID moduly.
  • V systému Windows 2000 a systémem Windows XP nastavte odpovídající globální proměnnou pomocí ladicího programu. Například:
    ED HIDCLASS! dbgverbose 1
    Název moduluDebug symbolRozsah
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

Sériový ovladač ladění

Poznámka: následující o ladění sériový ovladač:
  • Vyžaduje systém kontrolovaného sestavení, nebo kontrole sériových modulů sestavení.
  • Serial.sys (v systému Windows 2000 a systémem Windows XP):
    • V registru, nastavte hodnotu DebugLevel takto:
      HKLM\System\CurrentControlSet\Services\Serial “DebugLevel”= REG_DWORD:0xFFFFFFFF
      Nebo jej nastavte pomocí ladicího programu, takto:
      ED Serial! SerialDebugLevel (0x00000000 – 0xFFFFFFFF)
    • Hodnoty masky jsou definovány v následujícím adresáři:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum. sys (v systému Windows 2000 a systémem Windows XP):
    • V registru, nastavte hodnotu DebugLevel takto:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum “DebugLevel”= REG_DWORD:1FF
    • Hodnoty masky jsou definovány v následujícím adresáři:
      %DDKROOT%\src\kernel\serenum\serenum.h

Ladění ovladače modemu

Povolit úplný unimodem podrobné ladění v systému Windows 2000 a systémem Windows XP, musíte mít kontrolovaného sestavení a potom proveďte následující:
  1. Na všechno kromě Mdminst.dll a Unimdm.tsp přidejte následující klíče registru:
    • 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. Zkopírujte Unimdm.ini do Mdminst.dll,
    % windir %. Následuje příklad souboru Unimdm.ini:
    [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. Unimdm.tsp ladění, přidejte následující klíč registru:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\device instance\Logging

Ladění instalace zařízení

Přijímat podrobného trasování z jádra a uvolnění PNP správce v systému Windows XP a novější verze, je třeba získání kontrolovaného sestavení a potom spusťte následující kód:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF 
V systému Windows 2000 můžete můžete nastavit globální proměnné PnpEnumDebugLevel na 1 nebo 2 v ladicím programu jádra takto:
ed nt!PnpEnumDebugLevel 2 

Poznámky

Některé ovladače a dílčích systémů na systémy založené na systému Windows XP pomocí nové funkce DbgPrintEx :
ULONG DbgPrintEx(IN ULONG ComponentID,                 IN ULONG Level, IN PCHAR Format, . . . .
[arguments]);

Microsoft definoval asi 95 ID různých součástí (hledejte DPFLTR_TYPE v souboru Ntddk.h). Pro každý filtr component ID není maska globální proměnné, například
NT! Kd_IHVVIDEO_Mask, NT! Kd_IHVAUDIO_Mask
Můžete nastavit hodnotu masky buď prostřednictvím registru takto:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug filtru pro tisk

"IHV_AUDIO" = REG_DWORD:0xFFFFFFFF nebo s ladicí program, například
ED NT! Kd_IHVAUDIO_Mask 0xffffffff
Výstup ladění je filtrována na základě globální maska (Kd_Win2000_Mask) a součást úroveň masky. Soubor nápovědy Windbg dokumenty, použití hodnoty masky a úroveň ve filtrování výstupu.

Chcete-li povolit ladění trasování, použijte následující kód zjistit component ID, ze souboru Ntddk.h nebo z ladicí program:
x NT!Kd_*_Mask
Potom nastavte hodnotu na maximum pro podrobný výstup (0xffffffff). V současné době pouze několik tříd ovladače (popsaný v části "Další informace" tohoto článku) pomocí této nové funkce.
Vlastnosti

ID článku: 314743 - Poslední kontrola: 20. 1. 2017 - Revize: 2

Váš názor