Domanda

A seguito di questa domanda ora avere codice che può connettersi a un processo utilizzando l'API MDBG.

Il problema è che non riesco a staccare dal processo, se ne ho bisogno. Quando chiamo mgProcess.Detach () WaitOne (); (dove mgProcess è un MDbgProcess creato da un oggetto MDbgEngine) ottengo il seguente messaggio di errore:.

 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

Se ho appena provo a chiamare mgProcess.Detach () o mgProcess.CorProcess.Detach () ottengo lo stesso risultato.

Qualcuno sa il modo corretto per staccare un processo MDBG?

È stato utile?

Soluzione

risulti che MDBG non vi permetterà di fare qualcosa di mentre il debugee è in funzione .

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

Sembra essere la via da seguire.

Altri suggerimenti

Prova questo:

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

o

Proc.CorProcess.Stop(0);  
Proc.Detach();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top