오류: 시스템에 커널 디버거가 사용 중이므로 디버깅을 할 수 없습니다.
관리 코드를 디버깅할 때 다음 오류 메시지가 나타날 수 있습니다.
Debugging isn't possible because a kernel debugger is enabled on the system
이 메시지는 다음과 같은 경우에 관리 코드를 디버깅하려고 하면 발생합니다.
디버그 모드에서 시작된 Windows 7 또는 Windows Vista 시스템에서 디버깅하는 경우
응용 프로그램에서 CLR 버전 CLR 2.0, 3.0 또는 3.5를 사용하는 경우
해결책
이 문제를 해결하려면
CLR 버전 4.0 또는 4.5를 사용하도록 응용 프로그램을 업그레이드합니다.
—또는—
Visual Studio에서 커널 디버깅을 비활성화하고 디버깅합니다.
—또는—
Visual Studio 대신 커널 디버거를 사용하여 디버깅합니다.
—또는—
커널 디버거에서 사용자 모드 예외를 비활성화합니다.
현재 세션에서 커널 디버깅을 비활성화하려면
명령 프롬프트에 다음과 같이 입력합니다.
Kdbgctrl.exe -d
모든 세션에 대해 커널 디버깅을 비활성화하려면(Windows Vista 및 Windows 7)
명령 프롬프트에 다음과 같이 입력합니다.
bcdedit /debug off
컴퓨터를 다시 시작합니다.
모든 세션에 대해 커널 디버깅을 비활성화하려면(기타 Windows 운영 체제)
시스템 드라이브(일반적으로 C:\)에서 boot.ini를 찾습니다. boot.ini 파일은 숨겨져 있고 읽기 전용일 수 있습니다. 따라서 이 파일을 보려면 다음 명령을 사용해야 합니다.
dir /ASH
메모장을 사용하여 boot.ini를 열고 다음 옵션을 제거합니다.
/debug /debugport /baudrate
컴퓨터를 다시 시작합니다.
커널 디버거를 사용하여 디버깅하려면
커널 디버거가 후크되어 있으면 디버깅을 계속할지 묻는 메시지가 나타납니다. 단추를 클릭하여 디버깅을 계속합니다.
User break exception(Int 3)이 발생할 수도 있습니다. 이 경우 디버깅을 계속하려면 다음과 같은 커널 디버거 명령을 입력합니다.
gn