VS.NET 2005 - x64 환경에서의 mixed 디버깅 환경 구성
sos.dll을 사용하다 보니 이런 문제도 만나게 되는군요. ^^
해보신 분들은 아시겠지만, VS.NET 2005의 "Immediate Window"에서 "SOS.dll"을 로드하기 위해서는 프로젝트 속성창의 "Debug" 탭에서 "Enable unmanaged code debugging" 옵션을 설정해 주어야 합니다.
그렇지 않으면, 다음과 같은 오류가 발생합니다.
.load sos.dll
관리 전용 디버깅이 설정되어있는 동안은 SOS를 사용할 수 없습니다.
SOS를 로드하려면 프로젝트 속성에서 관리되지 않는 디버깅을 사용하도록 설정하십시오.
SOS not available while Managed only debugging.
To load SOS, enable unmanaged debugging in your project properties.
그리고, 반드시 실행이 정지된 상태(Break Point가 걸린)에서만 가능합니다. 그렇지 않은 경우에는 또한 다음과 같이 오류가 발생합니다.
.load sos.dll
The expression cannot be evaluated while in run mode.
그래서, 결국 "Enable unmanaged code debugging" 옵션을 켜고 디버깅 모드로 진입하려고 시도해 보게 되는데요. 만약 "Windows XP/2003 for x64" 운영체제 위에서 작업하고 계시다면, 다음과 같은 오류 메시지 창을 만나게 됩니다.
"
Error while trying to run project: Unable to start program '...'.
The debugger does not support debugging managed and native code at the same time
"
애석하게도, 현재로서는 64bit 모드인 경우에는 혼합 디버깅 방식을 지원하지 않습니다. 만약, 굳이 해야 한다고 하면, 프로젝트 속성 창의 "빌드" 탭에서 "Platform target" 설정을 "Any CPU"가 아닌 "x86"으로 설정하셔야 합니다.
(Orcas Beta1에서도 동일한 오류가 발생하는군요.)
[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]