私たちはアプリケーション/プラグインのコンパイル、リンク、ユニットテストのために、夜間ビルド(Perlで実装)用のレガシービルドインフラストラクチャを用意しています。 Windowsでは、単体テストプロセスがクラッシュすると、モーダルダイアログがポップアップし、ビルドファームを「ロック」します。win32プロセスクラッシュでのモーダルダイアログの防止
この動作を無効にして、代わりにモーダルダイアログやゼロ以外の終了ステータスを伴うクラッシュ時に子プロセスを終了させる方法(win32 APIコール、システム設定、env var、何か...) ?
おかげで、--DD
PS:私たちは、そのためのほとんどをこの問題を回避、キャッチ(...)を使用しての「キャッチ」クラッシュできるようにするには、Windows上のSEC(構造化例外処理)を使用してコンパイルもちろん、それだけでは不十分です。もちろん、いくつかのクラッシュは回復できません(スタックが破損した場合など)。
これらを以下のように組み合わせることができます。SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); –
あなたはそれらを組み合わせることができるだけでなく、それらを組み合わせる必要があります。フラグはスタックしません。2番目のフラグを設定すると、最初のフラグが失われます –