Отладчик Visual Studio 2008 C ++ выходит из одношагового режима под Vista - PullRequest
1 голос
/ 01 декабря 2009

У меня довольно большой проект на C ++, и я пытаюсь использовать отладчик для пошагового выполнения кода. К сожалению, иногда он решает выйти из этого режима и просто выполнить код, не обращая внимания на тот факт, что я нажал F10, и не ломался при последующих точках останова. Я не знаю, когда он выпадет, но, похоже, так и будет, когда это произойдет.

Если быть точным, я пытаюсь увидеть, как рассчитывается определенный элемент дисплея. Я ставлю точки останова там, где происходит расчет. Отладчик остановится на нескольких из них (не заходя так далеко, как мне нужно), а затем проигнорирует все остальное, и в окне появится готовое изображение. Иногда я проходил один шаг по коду, и вдруг он просто начинает выполняться.

Это использует Visual C ++ в Visual Studio 2008 с пакетом обновления 1 (SP1), работающий в 64-разрядной версии Vista. Код скомпилирован в режиме отладки без оптимизации. Я сделал чистую и полную перестройку, не исправляя это.

Кто-нибудь знает, что может быть причиной этого? Что я могу с этим поделать?

Редактировать: Там, где я потерял перерывы, нет никаких потоков, и я только что установил это рекомендуемое исправление , но проблема все еще остается.

Ответы [ 3 ]

3 голосов
/ 01 декабря 2009

на основе ответа от Yahoo, KB957912 - Обновление для отладки и точек останова Visual Studio 2008 SP1 кажется наилучшим вариантом

2 голосов
/ 01 декабря 2009

Мне кажется, я сталкивался с этим раньше.

Вы можете загрузить исправления, которые исправят эту и другие проблемы (доступны здесь): http://code.msdn.microsoft.com/Project/ProjectDirectory.aspx?TagName=Visual%20Studio%202008,Hotfix

Я установил связку, и с тех пор проблема не возникла. После установки вы можете увидеть их в списке «О программе».

Я не найду время, чтобы выбрать самые важные из них, так как я на работе ... но, вероятно, есть по крайней мере 3 или 4, которые вы захотите установить. Я думаю, что некоторые исправления могут быть сгруппированы в какой-то пакет SP1 (который также доступен по ссылке).

Правка (в ответ на правку в исходном сообщении): я уверен, что исправление решает проблему, напоминающую то, что вы описали, поскольку установка множества исправлений устраняла жалобы, которые выдавала группа моих коллег основная жалоба была в духе «иногда он игнорирует мои контрольные точки и продолжает проходить мимо них!»). Я рекомендую вам продолжать устанавливать все, что может подойти.

0 голосов
/ 01 декабря 2009

Вы уверены, что отлаживаете исполняемый файл, который вы только что собрали? Возможно, настройка в режиме отладки неверна, и вы отлаживаете ранее скомпилированный ... Чтобы убедиться, что вы можете просто запустить исполняемый файл отладки из проводника и позже присоединить Visual Studio.

Если это не проблема, попробуйте ASM:

__asm __emit 0xF1;

это сломается после выполнения. (подробнее о http://ccollomb.free.fr/blog/?p=30)

...