現在、(Visual Studio 内からではなく) 外部で起動されるプロセスのデバッガーを起動しようとしています。何も起こらないように見えるため、デバッガを実際に起動できないようです。その過程で、次のコードを追加しました。
Debug.Assert(Debugger.IsAttached == false, "Should be no debugger");
if (!Debugger.IsAttached)
{
Debug.Assert(Debugger.Launch(), "Debugger not launched");
}
Debugger.Break();
Debug.Assert(Debugger.IsAttached == true, "Debugger should be attached");
アサーションは、私が狂っていないことを確認するためにあります。最初は、IsAttachedプロパティは予想どおり false を返します。次にDebugger.Launchを呼び出すと、 trueが返されます。Debugger.Launchの MSDN ドキュメントによると、デバッガーの起動に成功した場合、またはデバッガーが既にアタッチされている場合にのみ true を返すと言われています。添付されていないことを確認したので、起動したに違いありません。
ブレークポイントにヒットすることはなく、2 回目の検証は失敗します ( IsAttachedプロパティは false を返します)。また、 Debugger.Launchの後にスリープ状態にしてしばらく時間を空けようとしましたが、役に立ちませんでした。
助言がありますか?