2016-12-10 3 views
0

反復プロセスのある時点でクラッシュする(アクセス違反エラー)プリコンパイル済みのexe(ネイティブC++ 11)があります。私はそれをデバッグする余裕がありませんし、今すぐもう一度コンパイルしてください。マシン例外の後にプログラムを再実行する

私は汚い解決策を考えました。私はそのexeを実行する責任を負う別のプログラムを作成し、それが動作を停止したときに、私は再度それを再実行します。

可能ですか?プログラムが停止したことをどのように知ることができますか?

注:私はWindows上で、MSVSを使用して開発しています。

+2

'CreateProcess'は、照会できるハンドルを返しますか? –

+0

私はWaitForSingleObject(pi.hProcess、INFINITE)する必要があります。 ?アプリケーションがクラッシュした場合ですか? –

+0

は、ドキュメントを読んで少しテストをノックすることが容易でなければなりません –

答えて

2

@リチャード・ホッジズの助けを借りて解決策を見つけました。

は、このコードで新しいプログラムを作成します。

​​

そして、最も重要な部分は、UIのエラーメッセージを無効にするときに、レジストリにこの値を変更することにより、プログラムのクラッシュ:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Windows Error Reporting 
"DontShowUI"=dword:00000001 

代わりに:

"DontShowUI"=dword:00000000 
関連する問題