どのように検出するポアプリが中断され
-
20-08-2019 - |
質問
私C#アプリケーションを呼び出し、ポC++アプリケーションによる。Start()
一部の場合は、C++アプリに異常終了し、私は残りの時にエラーダイアログを示す
はしてもらえると助かりますからC#の検出には、C++アプリはerroredで再起動しま
(い、ソースができな改変は、C++アプリ)
解決
C ++アプリはいくつかの方法で墜落したため、
JITデバッガダイアログが表示されます。ダイアログが開いている一方で、プロセスはまだプロセスクラスは習慣、それが持っていると考えることを意味している本(ただし、中断)である「終了」JITダイアログを却下又は添付デバッガは処理を終了するまで
あなたは、アプリはそれゆえ、クラッシュと死ぬ(とすることができ、問題が発生してマシン上で無効にJITデバッグ(私はをマシンデバッグマネージャーサービスを無効にJITデバッグを無効にすることのだと思います)のいずれかの可能性レポートとして、私はあなたがこれをやって行くだろうかさっぱりだが)「終了した」、または(および)あなたのホストC#のアプリは、C ++アプリケーションのためのデバッガとして自分自身を添付し、Cからクラッシュの通知を受け取ることができますかどうかを確認++アプリは、それを終了し、それが終了した情報に基づいて行動ます。
他のヒント
の場合はC++言語によるコンソールに基づく確認できないということ
のexitcode、0と閉じ、通常であって、それ以外の問題がこの条約を用いてこの用途)
チェックを標準エラーの場合は空ので、すべてがok
利用(プロセスp=新しいプロセス()) {
p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardError = true; p.StartInfo.FileName = "any.exe"; p.Start(); string error = p.StandardError.ReadToEnd(); p.WaitForExit() if(error.Length == 0 && p.ExitCode == 0) { } }
所属していません StackOverflow