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 ответов
Редактирование и продолжение отключено для собственного кода по умолчанию. Включить:
- В меню Сервис выберите Параметры.
- В диалоговом окне " Параметры " откройте узел " Отладка" и выберите категорию " Изменить и продолжить ".
- В группе параметров "Только собственные " выберите " Включить собственное редактирование" и "Продолжить".
Редактировать: Шаги для тестирования нативного Редактировать и продолжить работает:
- Старт VS 2013
- Создайте новый проект MFC:
- ФАЙЛ->Новый проект->Приложение MFC->ОК.
- Выберите " Готово" в мастере приложений MFC.
- Построить и начать отладку:
- СТРОЙ->Построить решение
- DEBUG->Начать отладку
- Прорыв в программу:
- DEBUG->Сломай все
- Сделайте изменение кода:
- Откройте файл OutputWnd.cpp и найдите COutputWnd::OnSize (строка 80).
- Вставьте эту строку в начале функции:
cx = cx / 2;
- Продолжить выполнение:
- DEBUG->Продолжить
- Измените размер окна приложения, чтобы увидеть эффект изменения кода на панели "Вывод" внизу. Его ширина должна быть вдвое меньше требуемого размера.
Редактировать и продолжить также настройка для каждого проекта.
- Он должен быть установлен в параметрах компилятора в C++ -> Общие -> Формат отладочной информации: "Программная база данных для редактирования и продолжения (/ZI)"
- Также необходимо изменить настройки компоновщика. Компоновщик должен использовать инкрементную компоновку. 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" отключит Редактирование и Продолжение.
Чтобы изменить это
- Откройте "Диспетчер конфигурации"
- Изменить конфигурацию для проекта с выпуска на отладку
- Перестройка и отладка проекта
Я сделал все шаги, описанные выше, но ничего не помогает (спасибо всем за это).
Мое решение было:
Проект -> Свойства -> Компоновщик -> Дополнительно:
задавать
"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 и.......
Ваш Редактировать и продолжить будет работать снова!