Bagaimana mengaktifkan verbose debug kalkir dalam berbagai driver dan subsistem

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 314743 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Ketika Anda debug pengandar perangkat, penting bahwa Anda menerima verbose debug melacak dari driver dan subsistem terkait.

Sebagian besar Microsoft menyediakan driver dan subsistem menggunakan variabel global dan standar mengatur nilai-nilai untuk mengontrol bertele-tele debug melacak informasi yang dikirim ke debugger.

Artikel ini membahas topik-topik berikut:
  • Cara mengaktifkan dan mengendalikan tingkat kalkir debug dengan menggunakan kernel debugger dan registri nilai-nilai.
  • Untuk kelas tertentu driver, Anda dapat menggunakan sesuai debugger ekstensi untuk mengaktifkan dan mengendalikan debug melacak.
  • Perbedaan antara memungkinkan debug kalkir di Windows 2000 dan Windows XP.

INFORMASI LEBIH LANJUT

Penting Artikel ini berisi informasi tentang menjalankan file .chk untuk pembangunan dan tujuan pengujian. Layanan dukungan produk Microsoft (PSS) tidak mendukung sistem produksi yang memiliki file .chk yang diinstal kecuali Anda diberitahu oleh PSS untuk menginstal file .chk untuk mengisolasi masalah. Sebelum Anda menginstal file .chk pada sistem produksi, pastikan untuk membuat cadangan sistem, dan pastikan bahwa Anda paham bagaimana memulihkan berkas diganti apabila ada masalah.

Untuk informasi lebih lanjut tentang .chk file, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
103659Setup Hang saat memeriksa perangkat keras. cara menggunakan Ntdetect.com
320040 Cara menggunakan Ntdetect.chk untuk mengidentifikasi masalah perangkat keras pada Windows 2000
Untuk informasi tentang cara membuat cadangan dan memulihkan sistem, lihat Windows 2000 bantuan dan dukungan. Untuk informasi lebih lanjut tentang NTbackups, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
240363Cara menggunakan program cadangan untuk membuat cadangan dan memulihkan status sistem pada Windows 2000
Anda juga dapat menghubungi penyedia produk cadangan untuk informasi tentang cara menggunakan produk mereka.

Catatan Informasi debugging berikut ini dapat berubah setiap waktu dan dimaksudkan hanya untuk keperluan debugging sopir. Juga mencatat bahwa debug informasi tidak mungkin berguna kepada orang lain selain pengembang.

Video miniport debugging

Catatan berikut tentang video miniport debugging:
  • Memerlukan port video membangun diperiksa dan miniport driver.
  • Tidak menggunakan ekstensi debugger.
  • Ini memungkinkan debug kalkir dengan menetapkan variabel global (atau variabel).
  • Nama-nama variabel dalam Windows 2000 berbeda dari orang-orang di Windows XP.
  • Pada Windows 2000, Anda dapat mengaktifkan debug menelusuri baik melalui registri atau debugger, sebagai berikut:
    • Menetapkan nilai VideoDebugLevel (0-3) di registri, sebagai berikut:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • Atau melalui debugger, sebagai berikut:
      Ed videoprt!VideoDebugLevel 2
  • Port video pada komputer berbasis Windows XP menggunakan baru DbgPrintEx fungsi (lihat bagian "Catatan" dari artikel ini).

    The variabel-variabel berikut yang ditentukan untuk driver video:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    Untuk mengatur topeng, lakukan hal berikut:
    • Tambahkan topeng yang Anda inginkan dalam registri. Untuk contoh:
      HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Manager\Debug Print Filter "IHVVIDEO" = DWORD: 0XFFFFFFFF
    • Atau dalam debugger, sebagai berikut:
      Ed Kd_IHVVIDEO_Mask 0xffffffff

1394 debugging

Catatan berikut tentang 1394 debugging:
  • Memerlukan sistem membangun diperiksa atau dicentang membangun 1394 modul.
  • Pada Windows 2000 dan Windows XP berbasis sistem, mengatur variabel global yang sesuai melalui debugger. Misalnya:
    Ed ohci1394! ohcidebuglevel 6
    Perkecil tabel iniPerbesar tabel ini
    Nama modulDebug simbolKisaran
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394BUS.SYSbusdebuglevel1-5
    Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    259855Cara mengaktifkan debug cetakan dalam IEEE 1394 driver

USB debugging

Catatan berikut tentang debugging universal serial bus (USB):
  • Memerlukan sistem membangun diperiksa atau dicentang membangun USB modul.
  • Pada sistem berbasis Windows 2000, Anda perlu untuk mengatur variabel global yang sesuai melalui debugger. Misalnya:
    Ed USBD!USBD_Debug_Trace_Level 2
    Perkecil tabel iniPerbesar tabel ini
    Nama modulDebug simbolKisaran
    UHCD.SYSUHCD_Debug_Trace_Level0-2
    OPENHCI.SYSOHCI_Debug_Trace_Level0-2
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
  • Gunakan parameter berikut pada sistem berbasis Windows XP.
    Perkecil tabel iniPerbesar tabel ini
    Nama modulDebug simbolKisaran
    USBPORT.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 atau 1
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    USBPORT.SYSUSBPORT_CatcTrapEnable0-1
  • Semua pengandar miniport USB menggunakan USBPORT untuk debug output.

PCI debugging

Catatan berikut tentang perifer komponen interkoneksi (PCI) Debug:
  • Hal ini membutuhkan sistem diperiksa membangun atau membangun diperiksa PCI.SYS modul.
  • Pada Windows 2000 dan Windows XP berbasis sistem, mengatur variabel global yang sesuai melalui debugger. Misalnya (dengan 0x3 menjadi paling verbose:
    Ed PCI!PciDebug 0x3
    Perkecil tabel iniPerbesar tabel ini
    Nama modulDebug simbolKisaran
    PCI.SYSPciDebug0-3

PCMCIA debugging

Catatan berikut tentang PCMCIA debugging:
  • Hal ini membutuhkan sistem diperiksa membangun atau membangun diperiksa PCMCIA modul.
  • Pada Windows 2000 dan Windows XP berbasis sistem, mengatur variabel global yang sesuai melalui debugger. Sebagai contoh
    Ed PCMCIA!PcmciaDebugMask 0xFFFFFFFF
    di mana:
    #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
    					
    Perkecil tabel iniPerbesar tabel ini
    Nama modulDebug simbolKisaran
    PCMCIA.SYSPcmciaDebugMask0?FFFFFFFF

NDIS debugging

Catatan berikut spesifikasi antarmuka driver jaringan (NDIS) debugging:
  • NDIS debugging memerlukan membangun diperiksa NDIS.

Penyimpanan sopir debugging

Catatan berikut tentang penyimpanan pengandar debugging:
  • Itu memerlukan sistem membangun diperiksa atau diperiksa membangun penyimpanan modul. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    296225Bagaimana untuk mengaktifkan SCSIPORT debug penebangan

Pengandar printer debugging

Catatan berikut tentang pengandar printer debugging.

User mode

  • Memerlukan sistem membangun diperiksa atau dicentang membangun printer sopir komponen (unidrv atau pscript).
  • Melampirkan ke aplikasi pencetakan atau the spooler proses (spoolsv.exe), tergantung pada apakah Anda debug pengguna modul Interface (UI) atau modul rendering.
  • Untuk Unidrv debugging, gunakan pengaturan berikut:
    Ed unidrv! giDebugLevel 1

Kernel mode

  • Menjalankan gflags perintah, dan kemudian mengaktifkan bendera berikut di spoolsv.exe:
    • Windows 2000: "tempat tumpukan alokasi pada akhir Halaman"
    • Windows XP: "mengaktifkan halaman tumpukan"
  • Restart spooler (net stop/start spooler).
  • Menjalankan verifier.exe pada Win32K.sys untuk debug printer Anda driver.

Pengandar audio debugging

Catatan berikut tentang pengandar audio debugging:
  • Itu memerlukan sistem membangun diperiksa atau diperiksa membangun audio modul.
  • Pada Windows 2000 dan Windows XP berbasis sistem, mengatur variabel global yang sesuai melalui debugger. Misalnya:
    Ed USBAUDIO!USBAudioDebugLevel 3
    Perkecil tabel iniPerbesar tabel ini
    Nama modulDebug simbolKisaran
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

HID sopir debugging

Catatan berikut tentang pengandar HID debugging:
  • Memerlukan sistem membangun diperiksa atau dicentang membangun HID modul.
  • Pada Windows 2000 dan Windows XP berbasis sistem, mengatur variabel global yang sesuai melalui debugger. Misalnya:
    Ed HIDCLASS! dbgverbose 1
    Perkecil tabel iniPerbesar tabel ini
    Nama modulDebug simbolKisaran
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

Serial driver debugging

Catatan berikut tentang pengandar serial debugging:
  • Itu memerlukan sistem diperiksa membangun atau membangun serial diperiksa modul.
  • Serial.sys (di kedua Windows 2000 dan Windows XP berbasis sistem):
    • Menetapkan DebugLevel nilai registri, sebagai berikut:
      HKLM\System\CurrentControlSet\Services\Serial "DebugLevel" = REG_DWORD:0xFFFFFFFF
      Atau ditetapkan melalui debugger, sebagai berikut:
      Ed Serial!SerialDebugLevel (0x00000000-0xFFFFFFFF)
    • Topeng nilai-nilai yang ditetapkan dalam direktori berikut:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum.sys (di kedua Windows 2000 dan Windows XP berbasis sistem):
    • Menetapkan DebugLevel nilai registri, sebagai berikut:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum "DebugLevel" = REG_DWORD:1FF
    • Topeng nilai-nilai yang ditetapkan dalam direktori berikut:
      %DDKROOT%\src\kernel\serenum\serenum.h

Modem driver debugging

Untuk mengaktifkan penuh unimodem verbose debugging pada Windows 2000 dan Windows XP berbasis sistem, Anda perlu memiliki membangun diperiksa, dan kemudian melakukan berikut:
  1. Untuk segala sesuatu kecuali Mdminst.dll dan Unimdm.tsp, tambahkan kunci registri berikut:
    • 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. Untuk Mdminst.dll, salin Unimdm.ini ke% windir %. Berikut adalah contoh 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. Untuk Unimdm.tsp debugging, tambahkan kunci registri berikut:
    \Device HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ {4D36E96D-E325-11CE-BFC1-08002BE10318} instance\Logging

Perangkat instalasi debugging

Pada menerima jejak verbose dari kernel dan usermode PNP manager pada Windows XP dan Versi yang lebih baru, Anda harus mendapatkan membangun diperiksa, dan kemudian jalankan berikut kode:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
Pada Windows 2000, Anda dapat mengatur variabel global PnpEnumDebugLevel untuk 1 atau 2 di kernel debugger sebagai berikut:
ed nt!PnpEnumDebugLevel 2

Catatan

Beberapa driver dan subsistem pada sistem berbasis Windows XP menggunakan new DbgPrintEx fungsi:
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft telah mendefinisikan komponen berbeda sekitar 95 id (lihat DPFLTR_TYPE dalam Ntddk.h file). Untuk setiap komponen filter ID, ada variabel global topeng, misalnya,
NT! Kd_IHVVIDEO_Mask, NT!Kd_IHVAUDIO_Mask
Anda dapat mengatur nilai topeng baik melalui registri, sebagai berikut:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Manager\Debug Print Filter

"IHV_AUDIO" = REG_DWORD:0XFFFFFFFF atau dengan debugger, misalnya,
Ed NT!Kd_IHVAUDIO_Mask 0xffffffff
Debug output disaring berdasarkan topeng global (Kd_Win2000_Mask) dan komponen tingkat topeng. Windbg bantuan file dokumen Bagaimana topeng dan tingkat nilai-nilai yang digunakan dalam penyaringan output.

Pada mengaktifkan debug kalkir, gunakan kode berikut untuk mencari ID komponen baik dari berkas Ntddk.h atau dari debugger:
x NT!Kd_*_Mask
				
Kemudian, menetapkan nilai maksimum untuk output verbose (0xffffffff). Saat ini, hanya beberapa kelas driver (dijelaskan dalam "informasi selengkapnya" bagian dari artikel ini) menggunakan fungsi baru ini.

Properti

ID Artikel: 314743 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • 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
Kata kunci: 
kbbug kbdebug kbdisplay kbfile kbhowto kbinfo kbinput kbkmode kbndis kbplugplay kbserial kbusb kbwdm kbmt KB314743 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:314743

Berikan Masukan

 

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