質問

に続いて この質問 これで、Mdbg API を使用してプロセスにアタッチできるコードができました。

問題は、必要な場合にプロセスから切り離せないことです。電話するとmgProcess.Detach().WaitOne(); ( mgProcess は MDbgEngine オブジェクトから作成された MDbgProcess です) 次のエラー メッセージが表示されます。

 Process not synchronized. (Exception from HRESULT: 0x80131302)
     at Microsoft.Samples.Debugging.CorDebug.NativeApi.ICorDebugController.Detach()
     at Microsoft.Samples.Debugging.CorDebug.CorController.Detach() in C:\mdbg\src\debugger\corapi\Controller.cs:line 89
     at Microsoft.Samples.Debugging.MdbgEngine.MDbgProcess.Detach() in C:\mdbg\src\debugger\mdbgeng\Process.cs:line 716

ただ電話してみたら mgProcess.Detach() または mgProcess.CorProcess.Detach() 同じ結果が得られます。

Mdbg プロセスをデタッチする正しい方法を知っている人はいますか?

役に立ちましたか?

解決

Mdbg では何もできないようです デバッグ対象の実行中.

  MgProcess.CorProcess.Stop(0);
  MgProcess.Detach();

前進する道があるように見えます。

他のヒント

これを試してください:

proc.AsyncStop();
proc.Detach();

または

Proc.CorProcess.Stop(0);  
Proc.Detach();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top