자세한 정보 표시 디버그 추적을 다양한 드라이버 및 하위 시스템을 설정하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 314743 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

장치 드라이버를 디버깅하고 때 중요한 세부 정보 표시 디버그 추적을 드라이버 및 관련된 하위 시스템에 나타날 것입니다.

대부분의 Microsoft 제공 드라이버 및 하위 시스템 전역 변수 및 미리 정의된 값 집합이 디버거에 보낼 디버그 추적 정보의 자세한 정도 제어할 수 있습니다.

이 문서에서는 다음 항목을 설명합니다.
  • 사용 및 커널 디버거 및 레지스트리 값을 사용하여 디버그 추적 수준을 제어하는 방법
  • 특정 클래스의 드라이버의 경우 해당 디버거 확장을 사용하도록 설정하고 디버그 추적을 제어할 수 있습니다.
  • Windows 2000 및 Windows XP의 추적을 사용하면 간의 차이를 디버깅합니다.

추가 정보

중요한 이 문서에서는 개발 .chk 파일을 실행 및 테스트 목적으에 대한 정보가 들어 있습니다. Microsoft 기술 지원 서비스 (PSS) 의해 PSS에 문제를 진단하려면 .chk 파일을 설치하려면 말했잖아 있던 않으면 설치할 .chk 파일을 프로덕션 시스템에서 지원하지 않습니다. 프로덕션 시스템에서 .chk 파일을 설치하기 전에 시스템을 백업할 수 있는지 확인하고 문제가 발생할 경우 바뀐된 파일을 복원하는 방법을 알고 있어야 합니다.

.chk 파일에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
103659하드웨어를 검사하는 동안 설치 프로그램이 일시 중단; Ntdetect.com 사용하는 방법
320040Ntdetect.chk Windows 2000 하드웨어 문제를 식별하는 데 사용하는 방법
백업 및 시스템을 복원하는 방법에 대한 자세한 내용은 Windows 2000 도움말 및 지원 봅니다. NTbackups에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
240363백업 프로그램을 사용하여 백업 및 Windows 2000 시스템 상태를 복원하는 방법
제품을 사용하는 방법에 대한 자세한 내용은 백업 제품을 공급자에게 문의하여 수도 있습니다.

참고 다음 디버깅 정보를 언제든지 수 있으며 드라이버 디버깅 용도로만 사용됩니다. 또한 디버그 정보를 참고 개발자가 아닌 다른 사람에게 특히 유용할 수 있습니다.

비디오 미니포트 디버깅

비디오 미니포트 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 비디오 포트와 미니포트 드라이버가 필요합니다.
  • 디버거 확장을 사용하지 않습니다.
  • 전역 변수 또는 변수를 설정하여 디버그 추적을 설정합니다.
  • Windows 2000에서 변수 이름은 Windows XP에서 다릅니다.
  • Windows 2000에서 다음과 같은 레지스트리 또는 디버거를 통해 디버그 추적을 사용할 수 있습니다.
    • VideoDebugLevel (0-3) 의 값을 레지스트리에 다음과 같이 설정합니다:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\DeviceN VideoDebugLevel:REG_DWORD: 2
    • 또는 다음과 같이 디버거를 통해:
      ed videoprt! VideoDebugLevel 2
  • (이 문서의 "NOTES" 절 참조) DbgPrintEx 새 기능을 Windows XP 기반 컴퓨터 사용하는 비디오 포트.

    비디오 드라이버는 다음 변수는 정의할 수 있습니다.
    Kd_IHVVIDEO_Mask
    Kd_VIDEO_Mask
    Kd_VIDEOPRT_Mask
    마스크를 설정하려면 다음과 같이 하십시오.
    • 레지스트리에서 마스크를 추가하십시오. 예를 들어,:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session?Manager\Debug?Print?Filter “IHVVIDEO”=DWORD: 0xffffffff
    • 또는 다음과 같이 디버거에서:
      ed Kd_IHVVIDEO_Mask 0xffffffff

1394 디버깅

1394 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 시스템에 필요한 또는 빌드 1394 모듈을 확인합니다.
  • Windows 2000 및 Windows XP 기반 시스템에 대해 디버거를 통해 해당 전역 변수를 설정하십시오. 예를 들면:
    ed ohci1394! 6 ohcidebuglevel
    표 축소표 확대
    ??모듈 이름????디버그 기호??범위
    OHCI1394.SYSohcidebuglevel1-6
    SBP2PORT.SYSsbp2debuglevel1-4
    1394bus.sysbusdebuglevel1-5
    추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
    259855IEEE 1394 드라이버 디버그 인쇄 사용 방법

USB 디버깅

범용 직렬 버스 (USB) 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 시스템에 필요한 또는 체크 USB 빌드 모듈.
  • Windows 2000 기반 시스템에 디버거를 통해 해당 전역 변수를 설정해야 합니다. 예를 들면:
    ed USBD! USBD_Debug_Trace_Level 2
    표 축소표 확대
    ??모듈 이름????디버그 기호??범위
    UHCD.SYSUHCD_Debug_Trace_Level0-2
    OPENHCI.SYSOHCI_Debug_Trace_Level0-2
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
  • Windows XP 기반 시스템에서 다음 매개 변수를 사용하십시오.
    표 축소표 확대
    ??모듈 이름????디버그 기호??범위
    USBPORT.SYSUSBPORT_Debug_Trace_Level0-4
    USBCCGP.SYSDbgVerbose0 또는 1
    USBHUB.SYSUSBH_Debug_Trace_Level0-3
    USBD.SYSUSBD_Debug_Trace_Level0-3
    USBPORT.SYSUSBPORT_CatcTrapEnable0-1
  • 모든 USB 미니포트 드라이버는 USBPORT에 대한 디버그 출력을 사용합니다.

PCI 디버깅

다음에 대한 주변 구성 요소 상호 연결 (PCI) 참고 디버깅:
  • 확인된 빌드 시스템 또는 확인된 빌드 PCI.SYS 모듈 필요합니다.
  • Windows 2000 및 Windows XP 기반 시스템에 대해 디버거를 통해 해당 전역 변수를 설정하십시오. 예를 들어, (0x3 가장 자세한 중인 함께:
    ed PCI! 0x3 PciDebug
    표 축소표 확대
    ??모듈 이름????디버그 기호??범위
    PCI.SYS?PciDebug??0-3?

PCMCIA 디버깅

PCMCIA 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 시스템 또는 확인된 빌드 pcmcia 모듈 필요합니다.
  • Windows 2000 및 Windows XP 기반 시스템에 대해 디버거를 통해 해당 전역 변수를 설정하십시오. 예를 들면
    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
    					
    표 축소표 확대
    ??모듈 이름????디버그 기호??범위
    PCMCIA.SYS?PcmciaDebugMask??0?ffffffff?

NDIS 디버깅

네트워크 드라이버 인터페이스 사양에 대한 다음 참고 NDIS) 디버깅:
  • NDIS 디버깅 확인된 빌드를 NDIS 필요합니다.

저장소 드라이버가 디버깅

저장소 드라이버가 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 시스템에 필요한 또는 빌드 저장소 모듈을 확인합니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
    296225SCSIPORT 디버그 로깅을 사용 방법

프린터 드라이버 디버깅

프린터 드라이버 디버깅에 대한 다음을 사항에 유의하십시오.

사용자 모드

  • 확인된 빌드 시스템 또는 확인된 빌드 프린터 드라이버 구성 (unidrv 또는 pscript)가 필요합니다.
  • 인쇄 응용 프로그램 또는 사용자 인터페이스 (UI) 모듈 또는 렌더링 모듈 디버깅하는 여부에 따라 스풀러 프로세스 (spoolsv.exe)를 연결하십시오.
  • Unidrv 디버깅을 위해 다음 설정을 사용하십시오.
    ed unidrv! 1 giDebugLevel

커널 모드

  • gflags 명령을 실행하고 spoolsv.exe 다음 플래그를 사용:
    • Windows 2000: "환경 힙 할당 페이지 끝에"
    • Windows XP: "사용 가능 페이지 힙은"
  • (net 중지/시작할 스풀러) 스풀러를 다시 시작하십시오.
  • verifier.exe 따라 프린터 드라이버를 디버깅하려면 Win32K.sys 실행하십시오.

오디오 드라이버 디버깅

오디오 드라이버 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 시스템에 필요한 또는 빌드 오디오 모듈을 확인합니다.
  • Windows 2000 및 Windows XP 기반 시스템에 대해 디버거를 통해 해당 전역 변수를 설정하십시오. 예를 들면:
    USBAUDIO ed! USBAudioDebugLevel 3
    표 축소표 확대
    ???모듈 이름???????디버그 기호??????범위??
    USBAUDIO.SYSUSBAudioDebugLevel0-3
    SYSAUDIO.SYSSYSAUDIOTraceLevel0-100

HID 드라이버 디버깅

드라이버가 HID 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 시스템에 필요한 또는 빌드 체크 모듈을 HID.
  • Windows 2000 및 Windows XP 기반 시스템에 대해 디버거를 통해 해당 전역 변수를 설정하십시오. 예를 들면:
    HIDCLASS ed! 1 dbgverbose
    표 축소표 확대
    ???모듈 이름???????디버그 기호??????범위??
    HIDUSB.SYSHIDUSB_DebugLevel0-1
    HIDCLASS.SYSdbgverbose0-1

직렬 드라이버가 디버깅

직렬 드라이버가 디버깅에 대한 다음을 사항에 유의하십시오.
  • 확인된 빌드 시스템에 필요한 또는 빌드 직렬 모듈을 확인합니다.
  • Windows 2000 및 Windows XP 기반 시스템) 에 Serial.sys:
    • DebugLevel 값을 레지스트리에 다음과 같이 설정하십시오.
      HKLM\System\CurrentControlSet\Services\Serial “ DebugLevel ” REG_DWORD:0xFFFFFFFF =
      또는 디버거를 통해 다음과 같이 설정합니다.
      ed 직렬! SerialDebugLevel (0x00000000 ? 0xFFFFFFFF)
    • 마스크 값은 다음 디렉터리에 정의되어 있습니다.
      %DDKROOT%\src\kernel\serial\serial.h
  • Windows 2000 및 Windows XP 기반 시스템에 대한 Serenum.sys에서:
    • DebugLevel 값을 레지스트리에 다음과 같이 설정하십시오.
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serenum “ DebugLevel ” REG_DWORD:1FF =
    • 마스크 값은 다음 디렉터리에 정의되어 있습니다.
      %DDKROOT%\src\kernel\serenum\serenum.h

모뎀 드라이버를 디버깅

자세한 디버깅 Windows 2000 및 Windows XP 기반 시스템의 전체 unimodem 확인된 빌드 다음 작업을 수행할 수 합니다.
  1. Mdminst.dll 및 Unimdm.tsp 제외한 모든 다음 레지스트리 키를 추가하십시오.
    • 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. Unimdm.ini Mdminst.dll에 대해 %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. Unimdm.tsp 디버깅을 위해 다음 레지스트리 키를 추가하십시오.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\device instance\Logging

장치 설치 디버깅

커널 및 usermode PNP 관리자가 Windows XP 및 이후 버전에 대한 자세한 추적 받으려면 확인된 빌드 다음 코드 다음에 실행할 수 있습니다.
ed NT!Kd_NTOSPNP_Mask 0xFFFFFFFF ed NT!Kd_PNPMGR_Mask 0xFFFFFFFF
Windows 2000에서 사용하면 전역 변수 PnpEnumDebugLevel1 또는 2 커널 디버거에서 다음과 같이 설정할 수 있습니다.
ed nt!PnpEnumDebugLevel 2

슬라이드 노트

일부 드라이버 및 하위 시스템은 Windows XP 기반 시스템에서 새 DbgPrintEx 함수를 사용하여: ULONG DbgPrintEx(IN ULONG ComponentID, IN ULONG Level, IN PCHAR Format,....
ULONG DbgPrintEx(IN ULONG ComponentID,
                 IN ULONG Level, IN PCHAR Format, . . . .
                 [arguments]);
				
Microsoft 약 95 서로 다른 구성 요소 ID DPFLTR_TYPE Ntddk.h 파일에 찾고 정의했습니다. 모든 구성 요소 필터 ID가 없는 전역 마스크 변수에 예를 들어,
NT! Kd_IHVVIDEO_Mask, NT! Kd_IHVAUDIO_Mask
값을 마스크의 레지스트리를 통해 다음과 같은 설정할 수 있습니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session?Manager\Debug?Print?Filter

“ IHV_AUDIO ” REG_DWORD:0xFFFFFFFF = 또는 디버거를, 예를 들어,
ed NT! Kd_IHVAUDIO_Mask 0xffffffff
디버그 출력 전역 마스크를 기준으로 필터링되어 있습니다 (Kd_Win2000_Mask) 및 구성 요소 수준 마스크. Windbg 도움말 파일을 출력 필터링 마스크 및 수준 값을 사용 방법을 설명합니다.

디버그 추적을 사용하려면 다음 코드를 구성 요소 ID Ntddk.h 파일 또는 디버거를 찾을 수:
x NT!Kd_*_Mask
				
둘째, 자세한 정보 출력 (0xffffffff) 최대 값을 설정합니다. 현재, 몇 가지 클래스만 드라이버 (설명되어 있는 "추가 정보" 본 문서의)이 새 함수를 사용합니다.

속성

기술 자료: 314743 - 마지막 검토: 2007년 10월 1일 월요일 - 수정: 6.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • 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
키워드:?
kbmt kbbug kbdebug kbdisplay kbfile kbhowto kbinfo kbinput kbkmode kbndis kbplugplay kbserial kbusb kbwdm KB314743 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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