Можно ли создать Visual Studio для отладки дочерних процессов, таких как WinDbg?
-
12-09-2019 - |
Вопрос
Это похоже на этот вопрос, но я хотел немного конкретизировать это.(Я здесь новичок, если вместо этого мне следует дать "резкий" ответ на предыдущий вопрос, пожалуйста, дайте мне знать.)
В WinDbg я могу использовать .childdbg 1
команда, чтобы сообщить ему прерваться при появлении дочернего процесса, или я могу запустить его с помощью -o
параметр командной строки.Это очень полезно в некоторых ситуациях, поэтому удивительно, что (насколько я могу судить) Visual Studio это не поддерживает.Кажется, что должно быть довольно легко очистить DEBUG_PROCESS_ONLY_THIS_PROCESS
установите флажок в CreateProcess(), и VS уже поддерживает отладку нескольких процессов.
Итак, мне не хватает какой-то опции в Visual Studio, чтобы включить это?Если нет, есть ли техническое обоснование того, почему они решили не поддерживать это?
Решение
Невозможно (AFAIK, многие другие ...), но у вас есть несколько обходных путей:
- Используйте этот макрос, это исходит от команды Chrome, которой приходится иметь дело с отладкой множества дочерних процессов.
- Включите свой дочерний процесс Параметры выполнения изображения так что они будут автоматически открываться в отладчике.Затем выберите текущий активный экземпляр Visual Studio.
Другие советы
Теперь есть мощный инструмент, который позволяет вам подключаться к дочернему процессу:Представляем мощный инструмент отладки дочерних процессов