não pode desvincular do processo usando mdbg
Pergunta
Na sequência esta questão agora tem o código que pode anexar a um processo usando a API MDBG.
O problema é que eu não posso separar o processo se eu precisar. Quando eu chamo mgProcess.Detach () WaitOne (); (onde mgProcess é um MDbgProcess criado a partir de um objeto MDbgEngine) recebo a seguinte mensagem de erro:.
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 eu tentar chamar mgProcess.Detach () ou mgProcess.CorProcess.Detach () eu obter o mesmo resultado.
Alguém sabe a maneira correta de separar um processo MDBG?
Solução
Verifica-se que MDBG não vai permitir que você faça nada enquanto o debugee está sendo executado .
MgProcess.CorProcess.Stop(0);
MgProcess.Detach();
parece ser o caminho a seguir.
Outras dicas
Tente isto:
proc.AsyncStop();
proc.Detach();
ou
Proc.CorProcess.Stop(0);
Proc.Detach();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow