私のアプリケーションがdev PCに長くて無限ループすると、VSデバッガで壊れてしまいます。私はユーザーPC上で簡単にこれを行い、デバッグに役立てたいと思っています。プロセス間のパイプのいくつかの並べ替えに待つ別のスレッドを実行して、アプリでは.NETマシンの実行可能ファイルがループしている場所を参照してください。
- 、そして、そこから何かを受信すると、メインスレッドの現在のスタックトレースをログに記録します。
私はこのような何かを考えていました。 (Thread.GetCompressedStack()を使用していますか?)
break.exe
は、実行時に他のプロセスに接続し、パイプに何かを書き込みます。
ユーザーがアプリのフリーズを報告した場合、私はそれらにbreak.exeを実行するように指示できます。
これは良いアプローチですか?
ここのリンクは役に立つかもしれません:http://blogs.msdn.com/b/jmstall/archive/2005/11/28/snapshot.aspx。可能であれば、あなたのプロセスに新しい通信パイプを追加することは避けたい。 –