Visual Studio 2015 F5 не присоединяется к процессу

603
Robson

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

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

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

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

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

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

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

0
@ DUDE, что когда я нажимаю кнопку F5 на Visual Studio, он не присоединяет Visual Studio к приложению Robson 6 лет назад 0
Но F5 не должен этого делать, это означает «Беги»! Сокращение, чтобы присоединиться к процессу - "Ctrl + Alt + P" или я не прав? duDE 6 лет назад 0
@duDE по умолчанию для F5 - Начать отладку, с другой стороны CTRL + F5 сделает Пуск без отладки. Robson 6 лет назад 0
Поэтому вам нужно сначала присоединиться к процессу с помощью «Ctrl + Alt + P», а затем начать отладку, нажав «F5». И в чем проблема с этим? duDE 6 лет назад 0
@duDE, если мне нужно отладить код до того, как я подготовлю взаимодействие с пользователем, мне нужно настроить что-то, чтобы заблокировать программу, пока я не смогу присоединиться к процессу Robson 6 лет назад 0

2 ответа на вопрос

2
duDE

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

Взгляните на метод Debugger.Launch Method ():

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

И вам понадобится метод Debugger.Break Method ():

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

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

#if DEBUG Debugger.Launch(); Debugger.Break();  MainForm.Show(); #else // nothing to do #endif 

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

благодарю вас! но это не то, что я ищу, я хочу на самом деле исправить функцию F5. Robson 6 лет назад 0
0
Robson

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

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

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

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

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

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

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

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

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

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

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

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