Zum Aktivieren von ausführliche Debugverfolgung in verschiedenen Treibern und Subsysteme

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 314743 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Wenn Sie Gerätetreiber Debuggen, ist es wichtig, dass Sie ausführliche Debugverfolgung vom Treiber und zugehörige Teilsysteme erhalten.

Die meisten Microsoft bereitgestellten Treiber und Subsysteme verwenden Sie globale Variablen und einen Satz vordefinierter Werte um den Ausführlichkeitsgrad der Debug-Ablaufverfolgungsinformationen zu steuern, die an den Debugger gesendet wird.

Dieser Artikel behandelt die folgenden Themen:
  • Anweisungen zum Aktivieren und die Ebene der Debug-Ablaufverfolgung mithilfe einer Kernel-Debugger und Registrierung Werte steuern.
  • Für eine bestimmte Klasse von Treibern können Sie die entsprechende Debuggererweiterungen aktivieren und Debugverfolgung steuern.
  • Die Unterschiede zwischen Aktivieren von Debuggen Ablaufverfolgung in Windows 2000 und Windows XP.

Weitere Informationen

wichtig Dieser Artikel enthält Informationen zum Ausführen chk-Dateien für die Entwicklung und Testzwecke. Microsoft Product Support Services (PSS) unterstützt nicht produktiven Systemen, die CHK-Dateien installiert, wenn Sie durch PSS informiert wurden, um die CHK-Dateien um ein Problem zu isolieren zu installieren. Bevor Sie die CHK-Dateien auf einem Produktionssystem installieren, stellen Sie sicher zum Sichern des Systems, und vergewissern Sie sich, dass Sie die ersetzte Datei wiederherstellen, wenn ein Problem auftritt.

Weitere Informationen zu chk-Dateien finden Sie in der folgenden Artikeln der Microsoft Knowledge Base:
103659Setup hängt beim Überprüfen von Hardware, wie Sie Ntdetect.com
320040Verwendung von Ntdetect.chk zum Identifizieren von Hardwareproblemen in Windows 2000
Informationen zum Sichern und Wiederherstellen des Systems finden Sie in Windows 2000-Hilfe und Support. Weitere Informationen zu NTbackups finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
240363Wie Sie das Sicherungsprogramm zum Sichern und Wiederherstellen des Systemstatus in Windows 2000
Sie können Informationen zur Verwendung Ihres Produkts auch Ihr Anbieter Sicherung Produkt erhalten.

Hinweis: Die folgende Debuginformationen vorbehalten jederzeit ist und nur für Treiber Debuggen Zwecke vorgesehen. Beachten Sie auch, dass Debuginformationen möglicherweise nicht besonders hilfreich, andere Personen als Entwickler.

Debuggen von Video-miniport

Beachten Sie Folgendes zum video-Miniport zu debuggen:
  • Es erfordert checked Build Port und Miniport Treiber.
  • Es wird eine Debuggererweiterung, die nicht verwendet.
  • Es ermöglicht Debugverfolgung durch Festlegen der globalen Variablen (oder Variablen).
  • Variablennamen in Windows 2000 unterscheiden sich von denen in Windows XP.
  • In Windows 2000 können Sie die Debug Ablaufverfolgung über die Registrierung oder den Debugger, wie folgt aktivieren:
    • Legen Sie den Wert des VideoDebugLevel (0-3) in der Registrierung wie folgt:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • Oder über den Debugger, wie folgt:
      Ed Videoprt! VideoDebugLevel 2
  • Den Videoanschluss auf eine neue DbgPrintEx funktioniert (siehe Abschnitt "NOTES" dieses Artikels) XP-Computer verwendet.

    Die folgenden Variablen sind für Grafiktreiber definiert:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    Eine Maske festlegen möchten, folgendermaßen Sie vor:
    • Fügen Sie die Maske, die in der Registrierung sollen. Zum Beispiel:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter ?IHVVIDEO?=DWORD: 0xffffffff
    • Oder in den Debugger, wie folgt:
      Ed "0xFFFFFFFF" Kd_IHVVIDEO_Mask

1394 zum Debuggen

Beachten Sie Folgendes über 1394 zum Debuggen:
  • Es muss ein getestetes Build-System oder Build 1394-Module aktiviert.
  • Unter Windows 2000 und Windows XP-basierte Systeme können Sie die entsprechende globale Variable über den Debugger festgelegt. Beispiel:
    Ed ohci1394! 6 Ohcidebuglevel
    Tabelle minimierenTabelle vergrößern
      Modulname    Debug-symbol  Bereich
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394BUS.SYSbusdebuglevel1-5
    Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    259855Zum Aktivieren von Debuggen druckt in IEEE 1394-Treiber

USB-Debuggen

Beachten Sie Folgendes zum Debuggen von universellen seriellen Bus (USB):
  • Es erfordert ein getestetes Build-System oder überprüft erstellen USB-Module.
  • Auf einem Windows 2000-basierten System müssen Sie die entsprechende globale Variable über den Debugger festgelegt. Beispiel:
    Ed USBD! USBD_Debug_Trace_Level 2
    Tabelle minimierenTabelle vergrößern
      Modulname    Debug-symbol  Bereich
    UHCD.SYSUHCD_Debug_Trace_Level0-2
    OPENHCI.SYSOHCI_Debug_Trace_Level0-2
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
  • Verwenden Sie die folgenden Parameter auf einem Windows XP-basierten System.
    Tabelle minimierenTabelle vergrößern
      Modulname    Debug-symbol  Bereich
    USBPORT.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 oder 1
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    USBPORT.SYSUSBPORT_CatcTrapEnable0-1
  • Alle USB-Miniport-Treiber verwenden USBPORT für Debug-Ausgabe.

PCI-Debuggen

Beachten Sie Folgendes über (PCI) Debuggen:
  • Es ist ein getestetes Build-System oder ein getestetes Build PCI.SYS Modul erforderlich.
  • Unter Windows 2000 und Windows XP-basierte Systeme können Sie die entsprechende globale Variable über den Debugger festgelegt. Beispielsweise (mit 0 x 3 werden die meisten ausführliche:
    Ed PCI! 0 x 3 PciDebug
    Tabelle minimierenTabelle vergrößern
      Modulname    Debug-symbol  Bereich
    PCI.SYS PciDebug  0-3 

PCMCIA-Debuggen

Beachten Sie die folgenden Informationen über das PCMCIA-Debuggen:
  • Es erfordert ein getestetes Build-System oder ein getestetes Build PCMCIA-Modul.
  • Unter Windows 2000 und Windows XP-basierte Systeme können Sie die entsprechende globale Variable über den Debugger festgelegt. Beispiel
    Ed PCMCIA! 0xFFFFFFFF PcmciaDebugMask
    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
    					
    Tabelle minimierenTabelle vergrößern
      Modulname    Debug-symbol  Bereich
    PCMCIA.SYS PcmciaDebugMask  0?FFFFFFFF 

NDIS-Debuggen

Beachten Sie Folgendes über Network Driver Interface Specification (NDIS) Debuggen:
  • NDIS das Debuggen erfordert ein getestetes Build NDIS.

Speicher Treiber Debuggen

Beachten Sie Folgendes zum Speicher Treiber Debuggen:
  • Es muss ein getestetes Build-System oder Build Speicher Module aktiviert. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    296225Aktivieren der SCSIPORT-Debugprotokollierung

Drucker Treiber Debuggen

Beachten Sie Folgendes zum Drucker Treiber Debuggen.

Benutzermodus

  • Erfordert ein getestetes Build-System oder checked Build Drucker Treiber Komponenten (Unidrv oder Pscript).
  • Fügen Sie an der drucken Anwendung oder der Spooler-Prozess (spoolsv.exe), je nachdem, ob Sie User Interface (UI) Module oder das Rendering-Modul Debuggen.
  • Verwenden Sie für Unidrv debuggen möchten die folgende Einstellung:
    Ed Unidrv! 1 GiDebugLevel

Kernelmodus

  • Führen Sie den Gflags -Befehl, und aktivieren Sie das folgende Flag auf spoolsv.exe:
    • Windows 2000: "Aktuelles Heap Allocation am Ende der Seiten"
    • Windows XP: "Enable Seitenheap"
  • Starten Sie den Spooler (net Stop/Start Spooler).
  • Führen Sie verifier.exe auf Win32K.sys, den Druckertreiber zu debuggen.

Audiotreiber Debuggen

Beachten Sie Folgendes zum Debuggen von audio-Treiber:
  • Es muss ein getestetes Build-System oder Build audio Module aktiviert.
  • Unter Windows 2000 und Windows XP-basierte Systeme können Sie die entsprechende globale Variable über den Debugger festgelegt. Beispiel:
    Ed USBAUDIO! USBAudioDebugLevel 3
    Tabelle minimierenTabelle vergrößern
       Modulname       Debug-symbol      Bereich  
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

HID-Treiber Debuggen

Beachten Sie Folgendes zum Debuggen von HID-Treiber:
  • Es erfordert ein getestetes Build-System oder überprüft Build HID-Module.
  • Unter Windows 2000 und Windows XP-basierte Systeme können Sie die entsprechende globale Variable über den Debugger festgelegt. Beispiel:
    Ed HIDCLASS! Dbgverbose 1
    Tabelle minimierenTabelle vergrößern
       Modulname       Debug-symbol      Bereich  
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

Serieller Treiber Debuggen

Beachten Sie Folgendes zum Debuggen der seriellen Treibers:
  • Es muss ein getestetes Build-System oder Build seriellen Module aktiviert.
  • Serial.sys (unter Windows 2000 und Windows XP-basierte Systeme):
    • Legen Sie den DebugLevel Wert in der Registrierung wie folgt:
      HKLM\System\CurrentControlSet\Services\Serial ? DebugLevel eingeben = REG_DWORD:0xFFFFFFFF
      Oder wie folgt über den Debugger festlegen:
      Ed Serial! SerialDebugLevel (0 x 00000000 ? 0xFFFFFFFF)
    • Maske Werte werden im folgenden Verzeichnis definiert:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum.sys (in Windows 2000 und Windows XP-basierte Systeme):
    • Legen Sie den DebugLevel Wert in der Registrierung wie folgt:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum ? DebugLevel eingeben = REG_DWORD:1FF
    • Maske Werte werden im folgenden Verzeichnis definiert:
      %DDKROOT%\src\kernel\serenum\serenum.h

Modem Treiber Debuggen

Um vollständige Unimodem ausführliches Debuggen unter Windows 2000 und Windows XP-basierte Systeme zu aktivieren, müssen Sie ein getestetes Build haben, und führen die folgenden:
  1. Fügen Sie für alles außer Mdminst.dll und Unimdm.tsp die folgenden Registrierungsschlüssel:
    • 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. Kopieren Sie für Mdminst.dll Unimdm.ini in %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. Fügen Sie für das Debuggen von Unimdm.tsp den folgenden Registrierungsschlüssel hinzu:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\device instance\Logging

Gerät Installation Debuggen

Um eine ausführliche Ablaufverfolgung von Kernel und Usermode PnP-Manager unter Windows XP und späteren Versionen zu erhalten, müssen Sie ein getestetes Build, und führen Sie folgenden Code:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
Unter Windows 2000 können Sie globale Variablen PnpEnumDebugLevel auf 1 oder 2 in der Kernel-Debugger wie folgt festlegen:
ed nt!PnpEnumDebugLevel 2

Hinweise

Einige der Treiber und Subsysteme auf Windows XP-basierten Systemen verwenden Sie die neuen DbgPrintEx -Funktion: ULONG DbgPrintEx(IN ULONG ComponentID, IN ULONG Level, IN PCHAR Format,....
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft hat über 95 verschiedene Komponenten-IDs (Suchen Sie DPFLTR_TYPE in Ntddk.h-Datei) definiert. Für jede Komponente Filter-ID ist vorhanden eine globale Maske Variable, z. B.
NT! Kd_IHVVIDEO_Mask, NT! Kd_IHVAUDIO_Mask
Sie können den Wert der Maske entweder über die Registrierung wie folgt festlegen:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter

? IHV_AUDIO eingeben = REG_DWORD:0xFFFFFFFF oder mit einem Debugger
Ed NT! 0xffffffff Kd_IHVAUDIO_Mask
Debug-Ausgabe wird basierend auf der globalen Maske gefiltert (Kd_Win2000_Mask) und die Komponente Ebene Maske. Die WinDbg-Hilfedatei dokumentiert, wie die Netzwerkmaske und die Ebene-Werte in die Ausgabe Filtern verwendet werden.

Verwenden Sie zum Aktivieren der Debugablaufverfolgung den folgenden Code zu Ihrer Komponenten-ID aus der Ntddk.h-Datei oder aus dem Debugger:
x NT!Kd_*_Mask
				
legen Sie dann den Wert auf das Maximum für ausführliche Ausgabe (0xffffffff). Derzeit nur wenige Klassen von Treibern (in der "Weitere Informationen" beschriebenen Abschnitt dieses Artikels) verwenden Sie diese neue Funktion.

Eigenschaften

Artikel-ID: 314743 - Geändert am: Montag, 1. Oktober 2007 - Version: 6.0
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbbug kbdebug kbdisplay kbfile kbhowto kbinfo kbinput kbkmode kbndis kbplugplay kbserial kbusb kbwdm KB314743 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 314743
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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