Это то, что я делаю:

  1. Установить проект C++ как стартовый проект
  2. строить
  3. Установите много точек останова
  4. нажмите F5

правильный проект запущен, точки останова показаны как действительные и загруженные (закрашены красным кружком), Visual Studio сообщает "Выполнение" в строке заголовка, панель инструментов отладки активирована, но программа не останавливается на точках останова.

Если я использую функцию присоединения к процессу, выбирая «Управляемый (v4.6, v4.5, v4.0) код, собственный код», программа останавливается на точках останова, и я могу правильно выполнить отладку.

any1 есть какие-либо советы для устранения неполадок или решить эту проблему?

В качестве примечания (я не знаю, связаны ли проблемы друг с другом), моя клавиша F11 (шаг в) также не работает, я попытался сбросить настройки Visual Studio, но это не устранило проблему.

[ИЗМЕНЕНО] Если мне нужно отладить код до того, как я подготовлю взаимодействие с пользователем, мне нужно настроить что-то для блокировки программы, пока я не смогу присоединиться к процессу.

2 ответа2

2

Теперь я надеюсь понять, что вам нужно.

Взгляните на метод Debugger.Метод запуска ():

Запускает и присоединяет к процессу отладчик.

И вам понадобится метод Debugger.Метод перерыва ():

Сигнализирует точку останова на подключенный отладчик.

Таким образом, вы можете использовать его в своем исходном коде непосредственно после точки входа, например:

#if DEBUG
                Debugger.Launch();
                Debugger.Break();

                MainForm.Show();
#else
              // nothing to do
#endif

Ваша программа остановится на этом этапе, и вы сможете отлаживать!

0

наконец исправил это, выполнив следующее (я не знаю, является ли это лучшим способом, но это сработало для меня)

Перейдите к параметрам отладки Visual Studio (любой из следующих двух способов откроет одну и ту же страницу в диалоговом окне параметров)

  • Отладка> Параметры
  • Сервис> Параметры> Отладка> Общие

Тогда на этой странице обязательно отключите:

  • Включить только мой код

Тогда обязательно включите

  • Использовать режим управляемой совместимости
  • Использовать собственный режим совместимости

Теперь перейдите в диалог «Присоединить к процессу»:

  1. Отладка> Вложить в процесс> Вложить в> Выбрать
  2. Теперь выберите «Управляемый (v4.6, v4.5, v4.0) код», "Собственный код" и "Код управляемой совместимости".

Затем для каждого проекта, который вы хотите отладить:

  1. Щелкните правой кнопкой мыши> Свойства> Отладка> Тип отладчика
  2. Установите значение: "Смешанный"

Теперь нажмите F5 и все управляемые и неуправляемые точки останова должны быть активны !!!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .