C#および.NETフレームワーク4を使用してVS2010で新しいWindowsフォームアプリケーションを作成する場合、ユーザーは未処理の異常に関する異常な動作に遭遇しました。 Form1_load処理プログラムに特定のコードを追加した後、特定の行の添えられていない異常なメッセージが表示されないことが予想されます。それどころか、コードの実行にはエラーがなく、アプリケーションは実行され続けます。
この特別な動作は、WOW64アナログ層を介して64ビットウィンドウ7と相互作用する方法に起因しています。問題は、このレイヤーが64ビットウィンドウマネージャーによって生成された通知によって生成されたコードの異常を傍受することです。その結果、デバッガーは例外を識別して入力できませんでした。
この問題を解決するために、いくつかの解決策が提案されました:
プラットフォームターゲットをanyCPUとして設定し、選択した「32ビットを好む」この方法により、アプリケーションが64ビットプロセスに変更され、WOW64シミュレーションレイヤーとそれに関連する異常な問題が排除されました。ただし、「編集と継続」機能に影響を与える可能性があり、32ビットコードに依存することは不可能かもしれません。
その他のソリューション"debug"> "Odoma"では、CLRが「スロー」チェックボックスを有効にし、義務デバッガーは異常なコードラインを停止します。
ロードイベント処理プログラムでFairfast Processingを使用したTry/Catchブロック。Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
Wows64の問題が解決されたWindows 8以降にアップグレードします。 以上がVS2010は、64ビットWinformsアプリで未処理の例外メッセージを表示しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。