Pregunta

A raíz de esta pregunta ahora tener código que se puede unir a un proceso mediante el API MDBG.

El problema es que no puedo separar del proceso si lo necesito. Cuando llamo mgProcess.Detach () WaitOne (); (donde mgProcess es un MDbgProcess creado a partir de un objeto MDbgEngine) consigo el mensaje de error:.

 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

Si sólo trato de llamar a mgProcess.Detach () o mgProcess.CorProcess.Detach () Me sale el mismo resultado.

¿Alguien sabe la manera correcta de separar un proceso MDBG?

¿Fue útil?

Solución

resulta que MDBG no permitirá que hagas nada mientras que el depurando un programa que se está ejecutando .

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

parece ser el camino a seguir.

Otros consejos

Prueba esto:

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

o

Proc.CorProcess.Stop(0);  
Proc.Detach();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top