วิธีการเปิดใช้งานการสืบค้นกลับการตรวจแก้จุดบกพร่อง verbose ในโปรแกรมควบคุมและ subsystems ต่าง ๆ

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 314743 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

เมื่อคุณตรวจแก้จุดบกพร่องโปรแกรมควบคุมอุปกรณ์ จึงเป็นสิ่งสำคัญที่คุณได้รับการสืบค้นกลับการตรวจแก้จุดบกพร่อง verbose จากโปรแกรมควบคุมและ subsystems ที่เกี่ยวข้อง

ส่วนใหญ่ของ Microsoft โดยโปรแกรมควบคุมและ subsystems ให้ใช้ตัวแปรส่วนกลางและชุดของค่าที่กำหนดไว้ล่วงหน้าเพื่อควบคุม verbosity ของข้อมูลการสืบค้นกลับตรวจแก้จุดบกพร่องที่ถูกส่งไปยังดีบัก

บทความนี้อธิบายหัวข้อต่อไปนี้::
  • วิธีการเปิดใช้งาน และควบคุมระดับการสืบค้นกลับการตรวจแก้จุดบกพร่อง โดยใช้การเคอร์เนลดีบักและรีจิสทรีค่า
  • สำหรับบางคลาของไดรเวอร์ คุณสามารถใช้ดีบักเกอร์ส่วนขยายที่สอดคล้องกันในการเปิดใช้งาน และควบคุมการสืบค้นกลับการตรวจแก้จุดบกพร่อง
  • ความแตกต่างระหว่างการเปิดใช้งานการตรวจแก้จุดบกพร่องสืบค้นกลับใน Windows 2000 และ Windows XP

ข้อมูลเพิ่มเติม

สิ่งสำคัญบทความนี้ประกอบด้วยข้อมูลเกี่ยวกับการใช้งานแฟ้ม.chk ที่สำหรับการพัฒนา และวัตถุประสงค์ในการทดสอบ ผลิตภัณฑ์สนับสนุนบริการของ Microsoft (PSS) ไม่สนับสนุนการระบบการผลิตที่มีแฟ้ม.chk ที่ยกเว้นว่าคุณได้ told โดย PSS เพื่อติดตั้งแฟ้ม.chk เพื่อแยกปัญหาในการติดตั้ง ก่อนที่คุณติดตั้งแฟ้ม.chk ที่อยู่บนระบบการผลิต การตรวจสอบให้แน่ใจว่าได้สำรองข้อมูลระบบ และตรวจสอบให้แน่ใจว่า คุณเข้าใจวิธีการคืนค่าแฟ้มที่ถูกแทนหากเกิดปัญหา

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแฟ้ม.chk คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
103659วิธีการใช้ Ntdetect.com การตั้งค่าแฮงขณะตรวจสอบฮาร์ดแวร์
320040วิธีการใช้ Ntdetect.chk เพื่อระบุปัญหาฮาร์ดแวร์ใน Windows 2000
สำหรับข้อมูลเกี่ยวกับวิธีการสำรองข้อมูล และการคืนค่าระบบ ดูวิธีใช้ของ Windows 2000 และการสนับสนุนสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ NTbackups คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
240363วิธีใช้ยูทิลิตี Backup เพื่อสำรองและเรียกคืนสถานะระบบใน Windows 2000
คุณสามารถติดต่อผู้ให้บริการผลิตภัณฑ์ที่สำรองข้อมูลของคุณสำหรับข้อมูลเกี่ยวกับวิธีการใช้ผลิตภัณฑ์ของตนเอง

หมายเหตุ:ข้อมูลการตรวจแก้จุดบกพร่องต่อไปนี้ขึ้นอยู่ตลอดเวลาการเปลี่ยนแปลง และมีไว้เฉพาะสำหรับวัตถุประสงค์ในการตรวจแก้จุดบกพร่องโปรแกรมควบคุม นอกจากนี้ โปรดสังเกตว่า รายละเอียดของการตรวจแก้จุดบกพร่องอาจไม่มีประโยชน์โดยเฉพาะอย่างยิ่งทุกคนอื่นนอกเหนือจากนักพัฒนา

การดีบักมินิพอร์ตวิดีโอ

หมายเหตุเกี่ยวกับการแก้จุดบกพร่องมินิพอร์ตวิดีโอต่อไปนี้:
  • จะต้องการให้โปรแกรมสร้างเลือกพอร์ตและมินิพอร์ตควบคุมวิดีโอ
  • คุณไม่ได้ใช้ส่วนขยายการดีบักเกอร์
  • จะทำให้การสืบค้นกลับตรวจแก้จุดบกพร่อง โดยการตั้งค่าแบบส่วนกลางตัวแปร (หรือตัวแปร)
  • ชื่อตัวแปรใน Windows 2000 จะแตกต่างจากไว้ใน Windows XP
  • ใน Windows 2000 คุณสามารถเปิดใช้งานการสืบค้นตรวจแก้จุดบกพร่องกลับอย่างใดอย่างหนึ่ง ถึงรีจิสทรีหรือการดีบักเกอร์ เป็นดังนี้:
    • Set the value of VideoDebugLevel (0-3) in the registry, as follows:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • Or through the debugger, as follows:
      ed videoprt!VideoDebugLevel 2
  • The video port on a Windows XP-based computer uses the newDbgPrintExfunction (see the "NOTES" section of this article).

    The following variables are defined for video drivers:
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    To set a mask, do the following:
    • Add the mask that you want in the registry. For example:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter “IHVVIDEO”=DWORD: 0xffffffff
    • Or in the debugger, as follows:
      ed Kd_IHVVIDEO_Mask 0xffffffff

1394 debugging

Note the following about 1394 debugging:
  • It requires a checked build system or checked build 1394 modules.
  • On both Windows 2000 and Windows XP-based systems, set the corresponding global variable through the debugger. ตัวอย่าง::
    ed ohci1394!ohcidebuglevel 6
    ยุบตารางนี้ขยายตารางนี้
    Module nameDebug symbolช่วง
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394BUS.SYSbusdebuglevel1-5
    สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    259855How to enable debug prints in IEEE 1394 drivers

USB debugging

Note the following about universal serial bus (USB) debugging:
  • It requires a checked build system or checked build USB modules.
  • On a Windows 2000-based system, you need to set the corresponding global variable through the debugger. ตัวอย่าง::
    ed USBD!USBD_Debug_Trace_Level 2
    ยุบตารางนี้ขยายตารางนี้
    Module nameDebug symbolช่วง
    UHCD.SYSUHCD_Debug_Trace_Level0-2
    OPENHCI.SYSOHCI_Debug_Trace_Level0-2
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
  • Use the following parameters on a Windows XP-based system.
    ยุบตารางนี้ขยายตารางนี้
    Module nameDebug symbolช่วง
    USBPORT.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 or 1
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    USBPORT.SYSUSBPORT_CatcTrapEnable0-1
  • All USB miniport drivers use USBPORT for debug output.

PCI debugging

Note the following about Peripheral Component Interconnect (PCI) debugging:
  • It requires a checked build system or a checked build PCI.SYS module.
  • On both Windows 2000 and Windows XP-based systems, set the corresponding global variable through the debugger. For example (with 0x3 being the most verbose:
    ed PCI!PciDebug 0x3
    ยุบตารางนี้ขยายตารางนี้
    Module nameDebug symbolช่วง
    PCI.SYSPciDebug0-3

PCMCIA debugging

Note the following about PCMCIA debugging:
  • It requires a checked build system or a checked build pcmcia module.
  • On both Windows 2000 and Windows XP-based systems, set the corresponding global variable through the debugger. For example
    ed PCMCIA!PcmciaDebugMask 0xFFFFFFFF
    โดย::
    #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
    					
    ยุบตารางนี้ขยายตารางนี้
    Module nameDebug symbolช่วง
    PCMCIA.SYSPcmciaDebugMask0–FFFFFFFF

NDIS debugging

Note the following about network driver interface specification (NDIS) debugging:
  • NDIS debugging requires a checked build NDIS.

Storage driver debugging

Note the following about storage driver debugging:
  • It requires a checked build system or checked build storage modules.สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    296225How to enable SCSIPORT debug logging

Printer driver debugging

Note the following about printer driver debugging.

User mode

  • Requires a checked build system or checked build printer driver components (unidrv or pscript).
  • Attach to either the printing application or the spooler process (spoolsv.exe), depending on whether you are debugging the user interface (UI) module or the rendering module.
  • For Unidrv debugging, use the following setting:
    ed unidrv!giDebugLevel 1

Kernel mode

  • เรียกใช้การgflagscommand, and then enable the following flag on spoolsv.exe:
    • Windows 2000: "Place Heap Allocation at end of pages"
    • Windows XP: "enable page heap"
  • Restart the spooler (net stop/start spooler).
  • Run verifier.exe on Win32K.sys to debug your printer driver.

Audio driver debugging

Note the following about audio driver debugging:
  • It requires a checked build system or checked build audio modules.
  • On both Windows 2000 and Windows XP-based systems, set the corresponding global variable through the debugger. ตัวอย่าง::
    ed USBAUDIO!USBAudioDebugLevel 3
    ยุบตารางนี้ขยายตารางนี้
    Module nameDebug symbolช่วง
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    Sysaudio.sysSYSAUDIOTraceLevel0-100

โปรแกรมควบคุม HID ตรวจแก้จุดบกพร่อง

หมายเหตุเกี่ยวกับดีบัก HID ไดรเวอร์ต่อไปนี้:
  • ต้องการระบบสร้างที่เลือก หรือสร้างการตรวจสอบ HID โมดูลต่าง ๆ
  • ทั้ง Windows 2000 และระบบที่ใช้ Windows XP ตั้งค่าตัวแปรส่วนกลางที่สอดคล้องกันผ่านการดีบัก ตัวอย่าง::
    ed HIDCLASS ! dbgverbose 1
    ยุบตารางนี้ขยายตารางนี้
    ชื่อโมดูลสัญลักษณ์การตรวจแก้จุดบกพร่องช่วง
    hidusb.sysHIDUSB_DebugLevel0-1
    hidclass.sysdbgverbose0-1

การตรวจแก้จุดบกพร่องโปรแกรมควบคุมพอร์ตอนุกรม

หมายเหตุเกี่ยวกับการแก้จุดบกพร่องของโปรแกรมควบคุมพอร์ตอนุกรมต่อไปนี้:
  • คุณต้องการสร้างเลือกระบบ หรือตรวจสอบโครงสร้างโมดูลพอร์ตอนุกรม
  • Serial.sys (ด้านทั้ง Windows 2000 และระบบที่ใช้ Windows XP):
    • ตั้งค่านี้DebugLevelค่าในรีจิสทรี ดังกล่าว:
      HKLM\System\CurrentControlSet\Services\Serial “ DebugLevel ” = REG_DWORD:0xFFFFFFFF
      หรือตั้งค่าดังกล่าวผ่านการดีบักเกอร์ เป็นดังนี้:
      ed พอร์ตอนุกรม! SerialDebugLevel (0x00000000 – 0xFFFFFFFF)
    • มีกำหนดค่ารูปแบบในไดเรกทอรีดังต่อไปนี้:
      %DDKROOT%\src\kernel\serial\serial.h
  • Serenum.sys (ด้านทั้ง Windows 2000 และระบบที่ใช้ Windows XP):
    • ตั้งค่านี้DebugLevelค่าในรีจิสทรี ดังกล่าว:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum “ DebugLevel ” = REG_DWORD:1FF
    • มีกำหนดค่ารูปแบบในไดเรกทอรีดังต่อไปนี้:
      %DDKROOT%\src\kernel\serenum\serenum.h

การดีบักไดรเวอร์โมเด็ม

เมื่อต้องการเปิดการใช้งานเต็มรูปแบบ unimodem verbose ดีบักบนระบบที่ใช้ Windows XP และ Windows 2000 คุณจำเป็นต้องมีโครงสร้างที่เลือก และให้ ทำต่อไปนี้:
  1. สำหรับทุกอย่างยกเว้น Mdminst.dll และ Unimdm.tsp เพิ่มคีย์รีจิสทรีต่อไปนี้:
    • DebugFlags HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unimodem "" = dword:0000003f
    • NT\CurrentVersion\Winlogon HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows "SFCDisable" = dword:00000001
    • DebugFlags HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Modem "" = dword:0000003f
    • DebugFlags HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Modemcsa "" = dword:0000003f
  2. สำหรับ Mdminst.dll คัดลอก Unimdm.ini เข้า%WINDIR%. ต่อไปนี้คือ ตัวอย่างของแฟ้ม 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 เพิ่มคีย์รีจิสทรีต่อไปนี้:
    \device instance\Logging HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ {4D36E96D-E325-11CE-BFC1-08002BE10318 }

การดีบักติดตั้งอุปกรณ์

เมื่อต้องการได้รับการสืบค้นกลับ verbose จากเคอร์เนลและ usermode PNP จัดการใน Windows XP และรุ่นที่ใหม่กว่า คุณจำเป็นต้องขอรับรุ่นต่อที่เลือก และเรียกใช้รหัสการต่อไปนี้:
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
ใน Windows 2000 คุณสามารถตั้งค่าตัวแปรส่วนกลางPnpEnumDebugLevelเมื่อต้องการ1หรือ2ในการดีบักเกอร์เคอร์เนลดัง:
ed nt!PnpEnumDebugLevel 2

หมายเหตุ

ใช้โปรแกรมควบคุมและ subsystems บนระบบที่ใช้ Windows XP ใหม่DbgPrintExฟังก์ชัน:
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft มีกำหนดรหัสคอมโพเนนต์ที่แตกต่างกันเกี่ยวกับ 95 (ลักษณะสำหรับdpfltr_typeใน Ntddk.h แฟ้ม) ID ตัวกรองทุกคอมโพเนนต์ ไม่มีตัวแปรรูปแบบส่วนกลาง ตัวอย่างเช่น
nt Kd_IHVVIDEO_Mask, NT ! Kd_IHVAUDIO_Mask
คุณสามารถกำหนดค่าของรูปแบบอาจถึงรีจิสทรี เป็นดังนี้:
ตัวกรองการพิมพ์ Manager\Debug HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session

“ ihv_audio ” = reg_dword:0xffffffffหรือ กับดีบักแบบ เกอร์ ตัวอย่างเช่น
ed NT ! Kd_IHVAUDIO_Mask 0xffffffff
ผลลัพธ์การตรวจแก้จุดบกพร่องจะถูกกรองตามรูปแบบส่วนกลาง (Kd_Win2000_Mask) และรูปแบบระดับของคอมโพเนนต์ แฟ้มวิธีใช้ Windbg เอกสารวิธีใช้ค่ารูปแบบและระดับในการกรองข้อมูลผลลัพธ์

เมื่อต้องการเปิดใช้งานการสืบค้นกลับการตรวจแก้จุดบกพร่อง ใช้รหัสต่อไปนี้เพื่อค้นหา ID คอมโพเนนต์ของคุณ จากแฟ้ม Ntddk.h หรือ จากการดีบัก:
x NT!Kd_*_Mask
				
จากนั้น ตั้งค่าเป็นจำนวนสูงสุดสำหรับการแสดงผล verbose (0xffffffff) ในปัจจุบัน เพียงสองสามคลาสของโปรแกรมควบคุม (การอธิบายไว้ในที่ "ข้อมูลเพิ่มเติม" ส่วนของบทความนี้) ใช้ฟังก์ชันนี้ใหม่

คุณสมบัติ

หมายเลขบทความ (Article ID): 314743 - รีวิวครั้งสุดท้าย: 10 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • 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 Edition
Keywords: 
kbbug kbdebug kbdisplay kbfile kbhowto kbinfo kbinput kbkmode kbndis kbplugplay kbserial kbusb kbwdm kbmt KB314743 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:314743

ให้ข้อเสนอแนะ

 

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