64 비트 vs2010 winforms 응용 프로그램에서 64 비트 윈도우에서 VS2010에서 Winforms 응용 프로그램 개발은 도전을 제시 할 수 있습니다. 디버거는 처리되지 않은 예외를 표시하지 못할 수 있습니다. 이것은 Windows-on-Windows (WOW64) 에뮬레이션 레이어와 관련된 알려진 문제입니다. 솔루션 : 이 실망스러운 문제를 해결하는 방법은 다음과 같습니다 대상 대상 anycpu (64 비트) : 프로젝트 속성 (Project & gt; Properties & Gt; 빌드)에서 "플랫폼 대상"을 "AnyCPU"로 변경하고 "32 비트를 선호합니다". 기본 64 비트 프로세스로 실행되는 WOW64 제한을 우회합니다 CLR 예외에 대해 "Thrown"을 활성화하십시오. 예외 창 (Debug & Gt; 예외)을 열고 CLR (Common Language Runtime) 예외에 대한 "Thrown"상자를 확인하십시오. 이렇게하면 디버거가 예외 원산지에서 깨지도록합니다 Form1의로드 이벤트 (또는 생성자)의 예외를 처리합니다. 이벤트 핸들러 (또는 바람직하게는 생성자) 내의 블록으로 코드를 랩핑합니다. 블록에서 를 사용하여 응용 프로그램을 즉시 종료하여 명확한 피드백을 제공합니다. : 메소드에서 를 추가하십시오. 이렇게하면 메시지 루프가 디버깅 중 예외 처리를 방해하는 것을 방지합니다. . 이벤트 핸들러 배치를 재평가 : 이벤트가 코드에 가장 적합한 장소인지 고려하십시오. 생성자는 더 적합한 위치 일 수 있습니다. 업그레이드 (가능하면) : 이후 Windows 버전은이 WOW64 문제를 해결했을 수 있습니다. 근본 원인 이해 : try-catch 이 예외 가시성 부족은 WOW64 환경 내에서 32 비트에서 64 비트 코드로의 예외를 통과하기가 어렵다는 점에서 비롯된 문서화 된 기발한 것입니다. 이러한 해결 방법이 도움이되지만 근본적인 문제는 Microsoft 팀 간의 지속적인 토론의 대상입니다.