다음을 통해 공유


JIT 연결 디버깅 설정

업데이트: 2007년 11월

JIT 연결 디버깅이란 catch되지 않은 예외를 throw하는 실행 가능 이미지에 디버거를 연결하는 동작을 나타냅니다. JIT 연결 디버깅은 비관리 코드에서 다음과 같은 동작을 요청하는 메시지 상자가 나타날 때 발생합니다.

  • 확인을 클릭하여 프로그램을 종료

  • 취소를 클릭하여 프로그램을 디버깅

취소를 클릭하면 디버거가 시작되어 프로세스에 연결됩니다. 이 동작을 제어하는 레지스트리 키는 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\AeDebug입니다.

관리 코드가 포함된 응용 프로그램의 경우, 공용 언어 런타임의 대화 상자는 JIT 연결 디버거의 대화 상자와 비슷할 것입니다. 이 옵션을 제어하는 레지스트리 키는 HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\DbgJITDebugLaunchSetting입니다.

  • 값이 0이면 메시지 상자를 통해 사용자에게 알립니다. 이 동작은 데스크톱과 상호 작용하는 프로세스에만 적용됩니다. 서비스와 기타 비대화형 프로세스는 종료됩니다.

    .NET Framework 버전 1.0과 1.1 또는 Windows 98과 Windows Me의 .NET Framework 버전 2.0에서 메시지 상자 선택 옵션은 다음과 같습니다.

    • 계속. 이 경우 스택이 콘솔에 덤프되고 프로세스가 종료됩니다.

    • 디버거를 연결합니다. 이 경우 런타임에서는 DbgManagedDebugger 레지스트리 키에 나열된 디버거를 생성합니다. 디버거를 찾지 못하면 프로세스가 종료됩니다.

    Windows 98 및 Windows Me 이외의 플랫폼에서 .NET Framework 버전 2.0에 나타나는 선택 옵션은 다음과 같습니다.

    • 보내기. 오류 보고서가 Microsoft에 전송되고 프로세스가 종료됩니다. 이러한 보고서를 검색하는 방법에 대한 자세한 내용은 http://winqual.microsoft.com을 참조하십시오.

    • 보내지 않음. 이 경우 스택이 콘솔에 덤프되고 프로세스가 종료됩니다.

    • 디버그. 런타임에 DbgManagedDebugger 레지스트리 키에 나열된 디버거를 생성합니다. 디버거를 찾지 못하면 프로세스가 종료됩니다.

  • 값이 1이면 단순히 값을 반환합니다. 이 경우 스택이 덤프된 후 프로세스가 종료됩니다.

  • 값이 2이면 DbgManagedDebugger 레지스트리 키에 나열된 디버거를 생성합니다.

  • .NET Framework 버전 2.0의 경우 값이 16이면 데스크톱과 상호 작용하는 프로세스에 대해 위에서 설명한 메시지 상자가 런타임에 나타납니다. 대화형이 아닌 프로세스의 경우 런타임에 DbgManagedDebugger 레지스트리 키에 나열된 디버거를 생성합니다. 이는 .NET Framework 버전 2.0의 기본 설정입니다.

참고 항목

개념

쉽게 디버깅할 수 있도록 이미지 만들기

프로파일링 설정

기타 리소스

응용 프로그램 디버깅 및 프로파일링