1

私のプログラムでは、AccessViolation などのエラーをキャッチする SEH 例外ハンドラーを実際に使用する必要がありますが、ハンドラーはデバッグ ビルドでのみ機能します。

リリース ビルドで同じオプションを有効にしましたが、機能しません。

とにかくリリースモードでSEHを有効にする方法は?

ありがとうございました!

__try { /* crash code */ }
__except(EXCEPTION_EXECUTE_HANDLER { MessageBox("Crash prevented"); }

デバッグ ビルド モードでは機能しますが、リリース (クラッシュ) では機能しません。

4

1 に答える 1

1

設定をさらにいじった後、解決策を見つけました。リリース構成では、SEH 例外ハンドラーを有効にするために、「コード生成」ページの「基本的な実行時チェック」を有効にする必要がありました。

「基本実行時チェック」オプションは、最適化が有効な状態では使用できません。

于 2013-10-06T10:01:02.847 に答える