Отладка программы на C ++ в VS2010 - PullRequest
1 голос
/ 02 августа 2011

У меня две программы на C ++, скажем, двоичные файлы «test1» и «test2», встроенные в окна с использованием VS2010.Моя логика такова, что «test1» запускает «test2».Теперь я хочу выполнить отладку на шаге через «test2», когда он запускается test1, поэтому я сохранил точку останова в программе test2, а отладочный двоичный файл - это сборка.ожидается запуск test2 (обратите внимание, что у меня нет выпущенной версии сборки test2), поэтому мы знаем, что запускается только отладочная версия.Но когда test2 запущен, я ожидаю остановки в точке останова, но она не останавливается.Когда я запускаю отладочную версию test2 из VS IDE, она останавливается в точке останова.

Как мы можем отладить test2, когда он запускается test1?Как мы можем добиться этого в Windows.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 02 августа 2011

Вы можете использовать опцию «присоединить к запущенному процессу» при запуске отладчика.Запустите test1 в обычном режиме, и когда он запускает процесс test2, вы можете подключить к нему отладчик:

From the debug menu

Process selection dialog

1 голос
/ 02 августа 2011

У вас есть два возможных подхода:

Присоединение к процессу

  1. Включение проекта test2 в Visual Studio.
  2. Запуск test1который в свою очередь запускает процесс test2.
  3. Use Debug |Присоединитесь к процессу и выберите процесс test2.

Это нормально, если вам не нужно отлаживать запуск процесса.

Конфигурация проекта

  1. Сделать проект test2 активным в Visual Studio.
  2. Открыть проект |Конфигурация |Свойства конфигурации |Отладка.
  3. Укажите для Command полный путь к test1.exe.

Как правило, эта альтернатива гораздо более продуктивна и позволяет отлаживать запуск.

1 голос
/ 02 августа 2011

Вам необходимо запустить сеанс отладки проекта test2 (не test1) и указать в свойствах проекта test2 исполняемый файл для запуска.Это находится в Свойствах конфигурации-> Отладка-> Команда.Установите это значение в test1.exe.

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