Как программно прикрепить процесс к текущему отладчику? - PullRequest
0 голосов
/ 05 марта 2020

У меня есть 2 проекта в решении, которые компилируются в A.exe и B.exe. A запустит B и подключится к нему через трубу. Я хочу проверить связь между ними, поэтому я хотел бы присоединиться к обоим одновременно. Делать это каждый раз очень неудобно, поэтому я попробовал это

if(IsDebuggerPresent())
    DebugActiveProcess(processId);

Однако кажется, что B подключен к отладчику A вместо отладчика Visual Studio. Итак, как я могу подключить B к отладчику VS?

1 Ответ

0 голосов
/ 05 марта 2020

Присоединение к процессу B программно

Метод 1: Использование VS

  1. Открыть B.vcxproj а не ваше решение (.sln содержащие проекты A и B)
  2. Поставьте свои точки останова

enter image description here

Запустите команду dos из вашего проекта A через system() (или другой вариант):

devenv / nospla sh / run "G: \ Logiciels \" B \ B.vcxproj "/ nospla sh / debugexe

devenv - это команда в вашем пути VS. В моем случае это в:

C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ V C

При запуске этой команды B проект открыт и точка останова достигнута.

Метод 2: Использование Windbg

Просто вызовите эту команду:

windbg -p ProcessID

Присоединение к процессу B графически

Откройте проект B в другом экземпляре и присоедините его следующим образом:

enter image description here

и выберите свой B.exe:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...