質問

私C#アプリケーションを呼び出し、ポC++アプリケーションによる。Start()

一部の場合は、C++アプリに異常終了し、私は残りの時にエラーダイアログを示す

はしてもらえると助かりますからC#の検出には、C++アプリはerroredで再起動しま

(い、ソースができな改変は、C++アプリ)

役に立ちましたか?

解決

C ++アプリはいくつかの方法で墜落したため、

JITデバッガダイアログが表示されます。ダイアログが開いている一方で、プロセスはまだプロセスクラスは習慣、それが持っていると考えることを意味している本(ただし、中断)である「終了」JITダイアログを却下又は添付デバッガは処理を終了するまで

あなたは、アプリはそれゆえ、クラッシュと死ぬ(とすることができ、問題が発生してマシン上で無効にJITデバッグ(私はをマシンデバッグマネージャーサービスを無効にJITデバッグを無効にすることのだと思います)のいずれかの可能性レポートとして、私はあなたがこれをやって行くだろうかさっぱりだが)「終了した」、または(および)あなたのホストC#のアプリは、C ++アプリケーションのためのデバッガとして自分自身を添付し、Cからクラッシュの通知を受け取ることができますかどうかを確認++アプリは、それを終了し、それが終了した情報に基づいて行動ます。

他のヒント

の場合はC++言語によるコンソールに基づく確認できないということ

  1. のexitcode、0と閉じ、通常であって、それ以外の問題がこの条約を用いてこの用途)

  2. チェックを標準エラーの場合は空ので、すべてが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)
     {
     }
    }
    
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top