MDBG を使用して IIS ワーカー プロセスにアタッチしています。
スタック スナップショットを実行した後、MDBgProcess.Detach() でデタッチします。
通常、この呼び出しには 10 ~ 80 ミリ秒かかりますが、非常に長い時間ハングすることがあり、その間にプロセスがフリーズすることもあります。
プロセスは生産プログラムであるため、これは受け入れられません。
完全なコードは次のとおりです。
try
{
proc.AsyncStop();
}
finally
{
// Make sure we are able to detach
try
{
// delete all breakpoints
proc.Breakpoints.DeleteAll();
}
catch (Exception e){}
finally
{
// detach and wait
var waitHandle = proc.Detach();
if (proc.CanExecute())
{
waitHandle.WaitOne();
}
}
}
なぜこれが起こるのか、それに対して私たちができることはありますか?
ベスト、マイク