Пропуск отладчика Visual Studio 2010 - PullRequest
9 голосов
/ 30 июня 2010

Иногда во время отладки отладчик случайно переходит вперед.Иногда я вхожу в функцию внутри другой функции и вместо перехода к следующей строке она пропускает в случайное место в будущем.иногда в линию на полпути через другую функцию.Тем не менее, он всегда учитывает точки останова, то есть, если точка останова будет установлена ​​в будущем, она никогда не пропустит ее.

Я использую 64-битную версию Win 7 и Visual Studio 2010 Ultimate.Я не использую темы.Это никогда не случалось со мной в visual studio 2008. Как я могу это исправить?

Ответы [ 8 ]

5 голосов
/ 30 июня 2010

У вас включены оптимизации? Если программа сильно оптимизирована, порядок выполнения можно скинуть, а вещи можно расширить или изменить способами, которые не всегда понятны.

4 голосов
/ 12 октября 2010

У меня возникают похожие проблемы при отладке программы на C # с Visual Studio 2010 на компьютере с XP. Отладчик просто случайно пропускает какую-то другую строку или следующую точку останова.

Похоже, что Microsoft выпустила исправление для этого в SP1.

3 голосов
/ 04 июня 2012

Это также может произойти, когда конфигурация вашего решения отладки обновлена, но вы пытаетесь отладить программу в конфигурации релиза (если это также не актуально) ... или наоборот.

Вы можете переключаться между режимами работы в режиме отладки или выпуска, используя раскрывающийся список рядом с зеленой стрелкой воспроизведения в верхней части экрана.

3 голосов
/ 12 октября 2010

Вы используете темы или фоновые рабочие? При отладке я считаю, что все потоки приостановлены, поэтому они могут переключаться между ними. В противном случае вы можете получить устаревшую информацию об отладке, удалить каталоги bin и obj и выполнить чистую сборку.

3 голосов
/ 30 июня 2010

Это может произойти, когда отладчик работает с файлами pdb, которые не соответствуют исходному коду, который вы просматриваете.Убедитесь, что корзина (или из которой вы работаете) обновлена ​​и собрана из того же исходного кода, который вы используете в отладчике.

3 голосов
/ 30 июня 2010

Вы уверены, что сборка, которую вызывает ваш код, имеет символы отладки?Возможно, вы ссылаетесь на dll, скомпилированную в режиме релиза.

1 голос
/ 16 апреля 2015

У меня недавно была похожая проблема в Visual C ++ 2008 на 32-битной Windows 7. За несколько минут до того, как проблема впервые появилась, системное диалоговое окно «VC.exe обнаружил проблему и должен выйти» , но окно Visual C ++, похоже, сохранилось.

После того, как проблема впервые появилась, я попытался вернуть ее к работе несколькими способами, например, перестроить решение или перезапустить Visual Studio. Однако он продолжал вести себя странно: ему не удалось связать объектный файл, к которому я не прикасался в течение нескольких недель, отображалось «В настоящий момент точка останова не будет достигнута. Исходный код отличается от оригинальной версии. ” и т. Д.

Ничего не помогало, пока я не перезагрузил компьютер и, наконец, не перестроил решение (на самом деле, дважды).

0 голосов
/ 01 июля 2010

Нажмите Перестроить решение.

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