No puede separar del proceso utilizando MDBG
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?
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