Не удается отделиться от процесса с помощью mdbg

StackOverflow https://stackoverflow.com/questions/378217

  •  22-08-2019
  •  | 
  •  

Вопрос

Следуя дальше от этот вопрос Теперь у меня есть код, который может быть присоединен к процессу с помощью Mdbg API.

Проблема в том, что я не могу отключиться от процесса, если мне нужно.Когда я звоню mgProcess.Отсоединить().WaitOne(); ( где mgProcess - это MDbgProcess, созданный из объекта MDbgEngine ) Я получаю следующее сообщение об ошибке:

 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.Отсоединить() или mgProcess.CorProcess.Отсоединить() Я получаю тот же результат.

Кто-нибудь знает правильный способ отсоединения процесса Mdbg?

Это было полезно?

Решение

Выясняется, что Mdbg не позволит вам ничего делать во время выполнения отладчика.

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

Похоже, это путь вперед.

Другие советы

Попробуй это:

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

или

Proc.CorProcess.Stop(0);  
Proc.Detach();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top