テストの目的で、アプリケーションからの特定のイベントをリッスンし、その時点でそれと対話する小さなアプリをまとめる予定です。
アプリケーションコードの変更が問題にならないテストプロセスの段階にあることを考えると、私の観点からの理想は、debugviewのように、アプリケーションからのデバッグトレースをリッスンし、応答することです。それに。
誰かがこれについて最善の方法についてのガイダンスを提供できますか?
私が見つけた方法では、MicrosoftのMdbgツールを使用して、ランタイムからコアデバッグ情報にアクセスできるようにしました。私が使用しているコードの基本的な形は次のようになります。
MDbgEngine mg;
MDbgProcess mgProcess;
try
{
mg = new MDbgEngine();
mgProcess = mg.Attach(debugProcess.Id);
}
catch (Exception ed)
{
Console.WriteLine("Exception attaching to process " + debugProcess.Id );
throw (ed);
}
mgProcess.CorProcess.EnableLogMessages(true);
mgProcess.CorProcess.OnLogMessage += new LogMessageEventHandler(HandleLogMessage);
mg.Options.StopOnLogMessage = true;
mgProcess.Go().WaitOne();
bool running = true;
Console.CancelKeyPress += new ConsoleCancelEventHandler(Console_CancelKeyPress);
while (running)
{
try
{
running =mgProcess.IsAlive;
mgProcess.Go().WaitOne();
}
catch
{
running = false;
}
}
とにかく私が必要としているものには十分に機能しているようです。おそらく、同じボートに乗っている他の人に役立つテンプレートを提供するでしょう。
標準System.Diagnostics
ベースのトレースを使用してトレースするアプリケーションですか? その場合、独自のTraceListenerを構築できます。