C#및 .NET Framework 4를 사용하여 VS2010에서 새로운 Windows Forms 응용 프로그램을 생성 할 때 사용자는 처리되지 않은 이상에 대해 비정상적인 동작을 겪었습니다. Form1_load 프로세싱 프로그램에 특정 코드를 추가 한 후 특정 라인의 비정규 특이한 메시지가 표시되지 않을 것으로 예상됩니다. 반대로 코드 실행에는 오류가 없으며 응용 프로그램은 계속 실행됩니다.
이 특수한 행동은 WOW64 아날로그 레이어를 통해 64- 비트 Windows 7과 상호 작용하는 방법에 기인합니다. 문제는이 레이어가 64 비트 창 관리자가 생성 한 알림에 의해 생성 된 코드의 이상을 가로 채는 것입니다. 결과적으로 디버거는 예외를 식별하고 입력 할 수 없었습니다.
이 문제를 해결하기 위해 몇 가지 해결책이 제안되었습니다.
플랫폼 대상을 ANDYCPU로 설정하고 선택한 "32- 비트"를 취소하십시오.
이 방법은 응용 프로그램을 64 비트 프로세스로 변경하여 WOW64 시뮬레이션 레이어 및 관련 비정상적인 문제를 제거했습니다. 그러나 "편집 및 계속"기능에 영향을 줄 수 있으며 32 비트 코드에 의존하는 것이 불가능할 수 있습니다.
기타 솔루션
"Debug"에서 "Odoma"에서 CLR은 "Throwing"Check Box를 활성화하고 강제 디버거는 비정상적인 코드 라인을 중지합니다.
로드 이벤트 처리 프로그램에서 Fairfast Processing을 사용한 시도/캐치 블록.
Debug 모드에서 비정상적인 캡처를 비활성화하려면 Main ()에서
를 설정합니다.
로드 이벤트 처리 프로그램에서 코드의 필요성을 다시 평가하고 대체 이벤트 처리 프로그램 또는 생성자를 사용하여 적절한 코드를 배치하십시오.
Windows 8 이상으로 업그레이드하여 WOW64 문제가 해결되었습니다.
위 내용은 vs2010이 64 비트 윈 포름 앱에서 처리되지 않은 예외 메시지를 표시하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!