Проблема отладчика Visual Studio

В Visual Studio 2008, после отладки приблизительно 1-2 минут, когда я нажимаю F10 ((Step), отладчик зависает и замораживания Visual Studio в течение 5-10 секунд, и затем перейдите к следующей строке. Затем независимо от того, что я делаю (F10, F5, F11, и т.д.), отладчик продолжает выполнение, как будто я нажал F5 и все мои формы, которые я отлаживал близко. Я всегда должен перезапускать приложение.

Очень трудно воспроизвести, и это не делает происходит каждый раз, когда я хочу отладить что-то. У кого-либо есть решение?

РЕДАКТИРОВАНИЕ: мне удалось воспроизвести мою проблему со следующим кодом:

static void Main(string[] args)
{
   XElement e = new XElement("root");
   Test(e, 0);
}

static void Test(XElement parentElement, int i)
{
   if (i < 1000)
   {
      XElement element = new XElement("element");
      parentElement.Add(element);
      Test(element, ++i);
   }
}

Необходимо поместить условную точку останова на строку "элемент XElement = новый XElement ("элемент")"; с условием "я == 999". Затем запустите программу, ожидайте 2-3 секунды и поместите нормальную точку останова на строку "parentElement. Добавьте (элемент)";. теперь VisualStudio замораживается, и невозможно отладить. В приложении WinForm это закрывает все формы, которые открыты после нажатия F10.

Но я нашел, что, если я отключаю параметр отладки, "Вызывают функцию преобразования строк на объектах в окнах переменных" в "Инструментах-> Опции-> Отладка", я могу отладить. Это медленно, но по крайней мере VisualStudio не замораживается. Кто-либо знает, почему это делает это? Поскольку я не хочу отключать эту опцию, это является действительно раздражающим для отладки без него.

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

7
задан Alexandre Pepin 8 April 2010 в 19:19
поделиться

5 ответов

Попробуйте удалить файл параметров пользователя решения (.suo), в котором хранится информация об отладке/брейкпоинтах. Вы потеряете все настройки пользователя решения, такие как расположение точек останова. При возникновении "забавных" случаев отладки это первое, что следует попробовать, поскольку этот файл может быть поврежден.

Если это не решит проблему, значит, у вас есть что-то еще, например, проблемы с потоками, чрезмерная фрагментация памяти, проблемы со сборкой мусора, проблемы с dispose/finalize и т.д.

4
ответ дан 7 December 2019 в 05:21
поделиться

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

Попробуйте перейти в Инструменты -> Параметры -> Отладка -> Символы и убедитесь, что все каталоги в этом список действительно существует.

Я понятия не имею, как это может привести к продолжению вашей программы после этого момента.

1
ответ дан 7 December 2019 в 05:21
поделиться

Не уверен, что когда-либо сталкивался с этим, но на вашем месте, если нет, удалите папку bin и перестройте свой проект. Затем запустите чистый раствор, чтобы быть в безопасности. Иногда из-за того, что ваш PDB устаревает, могут происходить неприятные вещи, поэтому вам необходимо их очистить.

Кроме того, если вы вызываете внешние сборки, удалите их и снова подключите, чтобы убедиться, что у вас самые последние сборки.

0
ответ дан 7 December 2019 в 05:21
поделиться

Я нашел ответ на этот вопрос в другом потоке Stackoverflow. Для этой проблемы существует исправление MS .

3
ответ дан 7 December 2019 в 05:21
поделиться

У меня была точно такая же проблема, как вы описали. Исправление MS решило эту проблему, и теперь я устанавливаю это исправление всякий раз, когда выполняю новую установку VS 2008 года.

0
ответ дан 7 December 2019 в 05:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: