Visual Studio 2013 Редактировать и продолжить не работает

С VS2013 Pro я не могу использовать "Редактировать и продолжить" при отладке программы MFC. Я создал новый проект MFC для тестирования.

Операционная система Windows 7 64-разрядная, и я использую Visual Studio 2013 12.0.30110.00 Update1.

Под Tools->Options->Debugging->Edit and Continue я имею Enable Edit and Continue проверено. Я снял флажок и проверил его, но всякий раз, когда я изменяю код во время отладки, я получаю следующее сообщение:

Исходный файл изменился. Он больше не соответствует версии файла, используемого для построения отлаживаемого приложения.

По сути, я не изменил никаких настроек, кроме размеров вкладок, и я установил схему раскладки клавиатуры на VC6.

Какие настройки мне не хватает, чтобы включить редактирование и продолжить?

8 ответов

Решение

Редактирование и продолжение отключено для собственного кода по умолчанию. Включить:

  1. В меню Сервис выберите Параметры.
  2. В диалоговом окне " Параметры " откройте узел " Отладка" и выберите категорию " Изменить и продолжить ".
  3. В группе параметров "Только собственные " выберите " Включить собственное редактирование" и "Продолжить".

Редактировать: Шаги для тестирования нативного Редактировать и продолжить работает:

  1. Старт VS 2013
  2. Создайте новый проект MFC:
    • ФАЙЛ->Новый проект->Приложение MFC->ОК.
    • Выберите " Готово" в мастере приложений MFC.
  3. Построить и начать отладку:
    • СТРОЙ->Построить решение
    • DEBUG->Начать отладку
  4. Прорыв в программу:
    • DEBUG->Сломай все
  5. Сделайте изменение кода:
    • Откройте файл OutputWnd.cpp и найдите COutputWnd::OnSize (строка 80).
    • Вставьте эту строку в начале функции: cx = cx / 2;
  6. Продолжить выполнение:
    • DEBUG->Продолжить
  7. Измените размер окна приложения, чтобы увидеть эффект изменения кода на панели "Вывод" внизу. Его ширина должна быть вдвое меньше требуемого размера.

Редактировать и продолжить также настройка для каждого проекта.

  1. Он должен быть установлен в параметрах компилятора в C++ -> Общие -> Формат отладочной информации: "Программная база данных для редактирования и продолжения (/ZI)"
  2. Также необходимо изменить настройки компоновщика. Компоновщик должен использовать инкрементную компоновку. Linker -> General -> Enable Incremental Linking = Yes или (для пользователей VC 2012) C++ -> All Options -> Enable Linking Level Linking = Yes (/Gy)

Для получения дополнительной информации прочитайте MSDN.

Последний намек помог, но нам пришлось

set "Image Has Safe обработчики исключений" = NO(/SAFESEH:NO)

во всех проектах нашего решения!

Из-за того, что это стоит, я выдернул свои волосы и на этом. Я наконец-то получил правку и продолжаю работать, изменив следующие настройки:

Project> Properties> Linker> All Options> "изображение имеет безопасные обработчики исключений".

Было установлено значение Нет (/SAFESEH:NO). Я вошел и удалил это. Я не установил это ДА или НЕТ. Я просто оставил это пустым. Я хотел бы знать, что значит быть пустым. Но редактировать и продолжить теперь работает для меня. Может быть, это поможет вам.

Проект с "Release Configuration" отключит Редактирование и Продолжение.

Чтобы изменить это

  1. Откройте "Диспетчер конфигурации"
  2. Изменить конфигурацию для проекта с выпуска на отладку
  3. Перестройка и отладка проекта

Я сделал все шаги, описанные выше, но ничего не помогает (спасибо всем за это).

Мое решение было:

Проект -> Свойства -> Компоновщик -> Дополнительно:

задавать

"Image имеет безопасные обработчики исключений" = NO(/SAFESEH:NO)

Применить, ОК и перестроить проект.

Надеюсь, поможет.

Редактировать и продолжить также не будет работать, если для вашего набора инструментов платформы установлен Visual Studio 2012 (v110) вместо обычной Visual Studio 2013 (v120).

Этот параметр находится в Project > Свойства конфигурации> General > Platform Toolset.

Решение этой проблемы находится на Документации Microsoft...

Если IntelliTrace включен, и вы собираете как события IntelliTrace, так и информацию о вызовах, Редактировать и продолжить отключить.

В меню Visual studios перейдите в меню Инструменты >> Параметры - выберите вкладку "IntelliTrace" и разрешите проверять только события IntelliTrace. Сохраните, перезапустите Visual Studio и.......

Ваш Редактировать и продолжить будет работать снова!

Другие вопросы по тегам