Sposób włączania śledzenia verbose debugowania w różnych sterowników i podsystemów

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 314743 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Podczas debugowania sterowników urządzeń jest ważne, otrzymywać pełne debugowanie śledzenie od sterowników i podzespołów.

Większość z Podsystemów i sterowników udostępnionych przez firmę Microsoft za pomocą zmiennych globalnych i wstępnie zdefiniowanych Ustawianie wartości do kontrolowania szczegółowości informacje o debugowaniu śledzenia jest wysyłane do debugera.

W tym artykule omówiono następujące tematy:
  • Jak włączyć i sterować poziomem śledzenie debugowania za pomocą Jądro debugera i z rejestru wartości.
  • Niektóre klasy sterowników, można użyć odpowiedniego rozszerzenia do włączenia i kontrolować debugowania śledzenia.
  • Różnice między umożliwiające śledzenie debugowania w systemie Windows 2000 i Windows XP.

Więcej informacji

Ważne Ten artykuł zawiera informacje dotyczące uruchamiania pliki chk dla rozwoju i testowania. Usługi obsługi produktu firmy Microsoft (PSS) nie obsługuje systemy produkcji, które zostały zainstalowane, chyba że zostały poinformował za pomocą techniczną Microsoft, aby zainstalować pliki chk Aby wyizolować problem pliki chk. Przed zainstalowaniem pliki chk w systemie produkcji, upewnij się, że wykonywanie kopii zapasowej systemu i upewnij się, zrozumienie sposobu przywracania zastępowany plik, jeśli wystąpi problem.

Aby uzyskać więcej informacji o plikach .chk kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
103659Instalator zawiesza się podczas sprawdzania sprzętu; jak używać Ntdetect.com
320040 Jak zidentyfikować problemy ze sprzętem w systemie Windows 2000 za pomocą Ntdetect.chk
Aby uzyskać informacje dotyczące wykonywania kopii zapasowej i przywracanie systemu Wyświetlanie Pomocy systemu Windows 2000 i obsługi technicznej. Aby uzyskać więcej informacji o NTbackups kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
240363Jak używać programu Kopia zapasowa do kopii zapasowych i przywracania stanu systemu w systemie Windows 2000
Aby uzyskać informacje o ich produktu, skontaktuj się z dostawcą produktu kopii zapasowej.

Uwaga Następujące informacje debugowania może ulec zmianie w dowolnym czas i jest przeznaczony tylko do celów debugowania sterownika. Należy również zauważyć, że debugowania informacje mogą być szczególnie użyteczne dla wszystkich innych niż deweloperów.

Debugowanie wideo miniport

Poniższe informacje o debugowaniu miniport wideo:
  • Wymaga kompilacji checked portu wideo i miniport sterowniki.
  • Nie są używane w rozszerzeniu debugera.
  • Umożliwia śledzenie debugowania ustawiając zmienną globalną (lub zmienne).
  • Nazwy zmiennych w systemie Windows 2000 są różne od tych w System Windows XP.
  • W systemie Windows 2000 można włączyć śledzenie albo debugowania za pośrednictwem rejestru lub debugera w następujący sposób:
    • W rejestrze, należy ustawić wartość VideoDebugLevel (0-3) w następujący sposób:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • Lub za pomocą debugera w następujący sposób:
      ED videoprt!VideoDebugLevel 2
  • Nowe używa portu wideo na komputerze z systemem Windows XP DbgPrintEx działać (zobacz sekcję "Uwagi" w tym artykule).

    W następujące zmienne są zdefiniowane dla sterowników wideo:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    Aby ustawić maskę, wykonaj następujące czynności:
    • Dodaj maskę, która ma w rejestrze. Dla przykład:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug wydruku filtru "IHVVIDEO" = DWORD: 0XFFFFFFFF
    • Lub w debugerze w następujący sposób:
      ED Kd_IHVVIDEO_Mask 0xffffffff

debugowanie 1394

Poniższe informacje debugowania 1394:
  • Wymaga systemu sprawdzonej kompilacji lub zaznaczone kompilacji 1394 moduły.
  • Zestaw Windows 2000 i systemów opartych na systemie Windows XP odpowiednią zmienną globalną za pomocą debugera. Na przykład:
    ED ohci1394! ohcidebuglevel 6
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa modułuProgram Debug symbolZakres
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394BUS.SYSbusdebuglevel1-5
    Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
    259855Sposób włączania debugowania jest drukowany w sterownikach IEEE 1394

Debugowanie USB

Poniższe informacje o debugowaniu uniwersalnej magistrali szeregowej (USB):
  • Wymaga systemu sprawdzonej kompilacji lub zaznaczone zbudować USB moduły.
  • Na komputerze z systemem Windows 2000 należy ustawić odpowiednią zmienną globalną za pomocą debugera. Na przykład:
    ED USBD!USBD_Debug_Trace_Level 2
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa modułuProgram Debug symbolZakres
    UHCD.SYSUHCD_Debug_Trace_Level0-2
    OPENHCI.SYSOHCI_Debug_Trace_Level0-2
    KONCENTRATOR USB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
  • Na komputerze z systemem Windows XP, należy użyć następujących parametrów.
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa modułuProgram Debug symbolZakres
    GENEROWANYCH.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 lub 1
    KONCENTRATOR USB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    GENEROWANYCH.SYSUSBPORT_CatcTrapEnable0-1
  • Wszystkie sterowniki miniportu USB za pomocą GENEROWANYCH dla wyjścia debugowania.

Debugowanie PCI

Poniższe informacje o PCI Peripheral Component Interconnect) debugowanie:
  • Wymaga systemu sprawdzonej kompilacji lub sprawdzonej kompilacji PCI.Moduł SYS.
  • Zestaw Windows 2000 i systemów opartych na systemie Windows XP odpowiednią zmienną globalną za pomocą debugera. Na przykład (przy czym 0x3 najbardziej pełne:
    ED PCI!PciDebug 0x3
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa modułuProgram Debug symbolZakres
    PCI.SYSPciDebug0-3

Debugowanie PCMCIA

Poniższe informacje o debugowaniu PCMCIA:
  • Wymaga systemu sprawdzonej kompilacji lub sprawdzonej kompilacji Moduł PCMCIA.
  • Zestaw Windows 2000 i systemów opartych na systemie Windows XP odpowiednią zmienną globalną za pomocą debugera. Na przykład
    ED PCMCIA!PcmciaDebugMask 0xFFFFFFFF
    w przypadku gdy:
    #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
    					
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa modułuProgram Debug symbolZakres
    PCMCIA.SYSPcmciaDebugMask0–FFFFFFFF

Debugowanie NDIS

Należy zwrócić uwagę na poniższe specyfikacja interfejsu sterownika sieciowego Debugowanie (NDIS):
  • Debugowanie NDIS wymaga kompilacji checked NDIS.

Debugowanie sterownik pamięci masowej

Poniższe informacje o debugowaniu sterownika magazynu:
  • Wymaga systemu sprawdzonej kompilacji lub zaznaczone magazynu kompilacji moduły. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
    296225Jak włączyć rejestrowanie debugowania SCSIPORT

Debugowanie sterownika drukarki

Poniższe informacje o debugowaniu sterownika drukarki.

Tryb użytkownika

  • Wymaga systemu sprawdzonej kompilacji lub zaznaczone drukarki kompilacji składniki sterownika (unidrv lub pscript).
  • Dołączanie do drukowania aplikacji lub buforu proces (spoolsv.exe), w zależności od tego, czy debugowania użytkownika Moduł interfejsu użytkownika lub moduł renderowania.
  • Debugowanie Unidrv, należy użyć następującego ustawienia:
    ED unidrv! giDebugLevel 1

Tryb jądra

  • Uruchom gflags polecenie, a następnie włączyć następującą flagę na spoolsv.exe:
    • System Windows 2000: "miejsce alokację sterty na końcu. strony"
    • Windows XP: "Włącz strony sterty"
  • Ponownie uruchom bufor (net stop na początek buforu).
  • Uruchom verifier.exe na Win32K.sys debug drukarki sterownik.

Sterownik audio debugowania

Poniższe informacje o debugowaniu sterownika audio:
  • Wymaga systemu sprawdzonej kompilacji lub zaznaczone kompilacji audio moduły.
  • Zestaw Windows 2000 i systemów opartych na systemie Windows XP odpowiednią zmienną globalną za pomocą debugera. Na przykład:
    ED USBAUDIO!USBAudioDebugLevel 3
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa modułuProgram Debug symbolZakres
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

Sterownik HID debugowania

Poniższe informacje o debugowaniu sterownik HID:
  • Wymaga systemu sprawdzonej kompilacji lub zaznaczone zbudować HID moduły.
  • Zestaw Windows 2000 i systemów opartych na systemie Windows XP odpowiednią zmienną globalną za pomocą debugera. Na przykład:
    ED HIDCLASS! dbgverbose 1
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa modułuProgram Debug symbolZakres
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

Sterownik szeregowy debugowania

Poniższe informacje o debugowaniu sterownik szeregowy:
  • Wymaga systemu sprawdzonej kompilacji lub zaznaczone seryjny kompilacji moduły.
  • Plik Serial.sys (w systemie Windows 2000 i Windows XP, na systemy):
    • Ustaw DebugLevel wartość rejestru w następujący sposób:
      "debuglevel" HKLM\System\CurrentControlSet\Services\Serial = REG_DWORD:0xFFFFFFFF
      Lub ustawiane debugera, w następujący sposób:
      ED szeregowego!SerialDebugLevel (0x00000000 — 0xFFFFFFFF)
    • Wartości maski są zdefiniowane w następującym katalogu:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum.sys (w systemie Windows 2000 i Windows XP, na systemy):
    • Ustaw DebugLevel wartość rejestru w następujący sposób:
      "debuglevel" HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum = REG_DWORD:1FF
    • Wartości maski są zdefiniowane w następującym katalogu:
      %DDKROOT%\src\kernel\serenum\serenum.h

Debugowanie sterownik modemu

Aby włączyć pełne unimodem pełne debugowanie w systemie Windows 2000 i System Windows XP opartych na systemach, trzeba mieć sprawdzonej kompilacji, a następnie wykonaj po:
  1. Wszystko z wyjątkiem Mdminst.dll i Unimdm.tsp, dodać następujące klucze rejestru:
    • 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. Dla Mdminst.dll Unimdm.ini do skopiowania% windir %. Oto przykład Unimdm.ini pliku:
    [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 debugowanie, Dodaj następujący klucz rejestru:
    \Device HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ {4D36E96D-E325-11CE-BFC1-08002BE10318} instance\Logging

Debugowanie instalacji urządzenia

Aby odbieranie śledzenia verbose z jądra i trybu użytkownika PNP manager w systemie Windows XP i nowsze wersje, trzeba uzyskać sprawdzonej kompilacji, a następnie uruchomić następującego kod:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
W systemie Windows 2000 można ustawić zmienną globalną PnpEnumDebugLevel Aby 1 lub 2 w oknie Debuger jądra w następujący sposób:
ed nt!PnpEnumDebugLevel 2

Uwagi

Niektóre sterowniki i podsystemów w systemach Windows XP korzystać z nowego DbgPrintEx Funkcja:
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft zdefiniowała około 95 identyfikatory różnych składników (poszukaj DPFLTR_TYPE w pliku Ntddk.h). Dla każdego składnika identyfikator filtru, istnieje zmiennej globalnej maski, na przykład,
NT! Kd_IHVVIDEO_Mask NT!Kd_IHVAUDIO_Mask
Możesz ustawić wartość maski w rejestrze jako następująco:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug wydruku filtru

"IHV_AUDIO" = REG_DWORD:0XFFFFFFFF lub z debugera, na przykład,
ED NT!Kd_IHVAUDIO_Mask 0xffffffff
Wyjścia debugowania jest filtrowane w oparciu o globalne maski (Kd_Win2000_Mask) i maskę poziom składnika. Dokumenty plik pomocy Windbg w jaki sposób wartości maski i poziom są używane w filtrowania danych wyjściowych.

Aby Włącz śledzenie debugowania, należy użyć następującego kodu albo zlokalizować identyfikator składnika z pliku Ntddk.h lub z debugera:
x NT!Kd_*_Mask
				
Następnie ustaw wartość maksymalną dla pełne dane wyjściowe (0xffffffff). Obecnie tylko kilka klas sterowników (opisane w "więcej informacji" części tego artykułu) tej nowej funkcji.

Właściwości

Numer ID artykułu: 314743 - Ostatnia weryfikacja: 23 czerwca 2011 - Weryfikacja: 2.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows XP Driver Development Kit
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
Słowa kluczowe: 
kbbug kbdebug kbdisplay kbfile kbhowto kbinfo kbinput kbkmode kbndis kbplugplay kbserial kbusb kbwdm kbmt KB314743 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:314743

Przekaż opinię

 

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