자동 디버깅 구성
사용자는 자동 디버깅을 구성하여 시스템 또는 애플리케이션이 응답을 중지한 이유를 확인할 수 있습니다.
시스템 충돌에 대한 자동 디버깅 구성
시스템이 응답하지 않을 때 크래시 덤프 파일을 생성하도록 대상 컴퓨터를 구성하려면 제어판에서 System 애플리케이션을 사용합니다. 시스템 속성 대화 상자를 표시하는 고급 시스템 설정클릭합니다. 해당 상자의 고급 탭에서 시작 및 복구설정 클릭한 다음 적절한 복구 옵션을 사용합니다. 또는 다음 레지스트리 키를 사용하여 크래시 덤프 옵션을 구성할 수 있습니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
지정할 수 있는 파일은 크래시 덤프 파일입니다. 기본 이름은 Memory.dmp. WinDbg 또는 KD와 같은 커널 모드 디버거를 사용하여 크래시 덤프를 디버그할 수 있습니다. 자세한 내용은 디버거에 포함된 설명서를 참조하세요.
애플리케이션 충돌에 대한 자동 디버깅 구성
애플리케이션이 응답(예: 액세스 위반 후)을 중지하면 시스템이 사후 관리 디버깅을 위해 레지스트리에 지정된 디버거를 자동으로 호출하고, 명령줄이 제대로 구성된 경우 프로세스 ID 및 이벤트 핸들이 디버거에 전달됩니다. 다음 절차에서는 레지스트리에서 디버거를 지정하는 방법을 설명합니다.
사후 디버거로 디버거를 설정하려면
다음 레지스트리 키로 이동합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
디버거에 대한 명령줄을 지정하는 REG_SZ 문자열을 사용하여 디버거 값을 추가하거나 편집합니다.
문자열에는 디버거 실행 파일에 대한 정규화된 경로가 포함되어야 합니다. 디버거 명령줄에 "%ld" 매개 변수를 사용하여 프로세스 ID 및 이벤트 핸들을 나타냅니다. 다른 디버거에는 이러한 값을 나타내는 고유한 매개 변수 구문이 있을 수 있습니다. 디버거가 호출되면 첫 번째 "%ld"이 프로세스 ID로 대체되고 두 번째 "%ld"이 이벤트 핸들로 바뀝니다.
다음 텍스트는 WinDbg를 디버거로 설정하는 방법의 예입니다.
"C:\debuggers\windbg.exe" -p %ld -e %ld -g
사용자 상호 작용 없이 디버거를 호출하려면 디버거를 호출하기 전에 시스템에 대화 상자를 표시할지 여부를 지정하는 REG_SZ 문자열을 사용하여 자동 값을 추가하거나 편집합니다. 문자열 "1"은 대화 상자를 사용하지 않도록 설정합니다. 문자열 "0"을 사용하면 대화 상자가 활성화됩니다.
자동 디버깅에서 애플리케이션 제외
다음 절차에서는 AeDebug 키 아래의 자동 값이 1로 설정된 후 자동 디버깅에서 애플리케이션을 제외하는 방법을 설명합니다.
애플리케이션을 자동 디버깅에서 제외하려면
다음 레지스트리 키로 이동합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
AutoExclusionList 하위 키에 REG_DWORD 값을 추가합니다. 여기서 이름은 실행 파일의 이름이고 값은 1입니다. 기본적으로 데스크톱 창 관리자(Dwm.exe)는 자동 디버깅에서 제외됩니다. 그렇지 않으면 Dwm.exe 응답을 중지할 경우 시스템 교착 상태가 발생할 수 있기 때문입니다(Dwm.exe 응답하지 않으므로 사용자가 디버거에 표시되는 인터페이스를 볼 수 없고 디버거가 Dwm.exe 종료할 수 없음).
Windows Server 2003 및 Windows XP:AutoExclusionList 하위 키를 사용할 수 없습니다. 따라서 Dwm.exe비롯한 모든 애플리케이션을 자동 디버깅에서 제외할 수 없습니다.
기본 AeDebug 레지스트리 항목은 다음과 같이 표시될 수 있습니다.
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows NT
CurrentVersion
AeDebug
Auto = 1
AutoExclusionList
DWM.exe = 1
관련 항목