Медленная проблема отладки в Visual Studio

В моей Visual Studio даже я написал только одну строку возврата в консольном приложении С#, мне понадобится минута после нажатия F5 для выполнения фактического кода (я имею в виду время, необходимое для остановки одного возврата после нажатия F5 - я устанавливаю точку останова на возврате в главной функции). Мне интересно, что не так? Любой контрольный список? Спасибо!

Я использую Visual Studio 2008 VSTS издание и отладку на Windows Server 2003 x64.

спасибо заранее, Джордж

Ответ 1

Вам может потребоваться удалить все ваши контрольные точки --- обратите внимание, что вам нужно нажать кнопку "удалить все точки останова" (или использовать Ctrl-Shft-F9), НЕ просто удалить их одним один. Если Visual Studio исказила ваши настройки решения, последнее не будет работать. Возможно, вам нужно будет добавить точку останова сначала, чтобы это работало (умный, а?).

Если худшее произойдет, вам может понадобиться удалить ваш файл .suo и позволить Visual Studio начать новый с нуля. Обратите внимание, что вы потеряете настройки своего личного решения, однако (только для этого решения, а не для других). Тем не менее, вы можете временно или временно переименовать файл, пока не определите, является ли это проблемой; Таким образом, вы всегда можете вернуть его обратно. Я видел, что некоторые онлайн-ресурсы рекомендуют удалять (перемещать/переименовывать) файл .ncb.

Ответ 2

Я видел это раньше. Попробуйте удалить все свои точки останова, а затем установите те, которые вы хотите. Хит F5. Это быстрее?

Я только заметил, что вы упомянули настройку функции отладки .NET. Попытайтесь отключить это, сетевое подключение к исходному серверу Microsoft может быть медленным. Также отключите любое подключение к серверу символов в меню "Сервис" > "Параметры" > "Отладка" > "Символы"

Также попробуйте отключить "Включить оценку свойств и другие неявные вызовы функций" в "Инструменты" > "Параметры" > "Отладка" > "Общие".

Ответ 3

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

Ответ 4

Была эта проблема. Попробовав все перечисленные советы и удалив все визуальные расширения студии, мы наконец поняли, что каким-то образом IntelliTrace был включен. Отключение этого исправлено.

http://msdn.microsoft.com/en-us/library/dd264948%28v=vs.100%29.aspx

Ответ 5

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

Ответ 6

Перейдите к инструментам/параметрам/отладчику/символам и проверьте, установлены ли общие символы или сетевые пути UNC. Также проверьте инструменты/параметры/отладчик/общий, чтобы узнать, установлен ли исходный сервер.

Все это может повлиять на отладку на основе медленной скорости сети или недоступных серверов. 5-минутное время ожидания - тайм-ауты сети.

Если ничего не задано в параметрах, проверьте, установлена ​​ли переменная среды _NT_SYMBOL_PATH.

Ответ 7

Мой коллега очень медленно реагировал на Visual Studio, буквально потребовалось несколько минут, чтобы выполнить шаг во время отладки. Коренная причина оказалась антивирусной программой (угроза), которая сошла с ума, когда VS работал. Убив его процесс, сразу все исправлено.

Ответ 8

В моем случае проблема с изменением символа отладки "Автоматически загружать символ для" из "всех модулей" на "только определенные модули". Вы можете изменить этот параметр в меню "Сервис" → "Параметры" → "Отладка" → "Символы"

Ответ 9

Другая причина плюс... Как найти проблему

Для меня это был вариант ShowOtherThreadIpMarkers. Значение = 1 делает vs (2010) невыносимо медленным (3-5 секунд для каждого шага отладки. С 0 снова быстро.

Что это за вариант? Понятия не имею. Я не смог найти его через пользовательский интерфейс vs. Я отключил все возможные варианты отладки и ничего не работал.

Итак, я пошел в "Импорт параметров экспорта" и загрузил мои старые настройки, которые я ранее сохранял, возвращаясь назад вовремя, пока vs не был быстрым, а затем сравнил файлы vssettings... и т.д. и т.д.

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

Ответ 10

Из блога ScottGu, связанного с Тревисом: "Еще одна производительность, о которой я недавно слышал, - это проблема, с которой несколько человек сообщили о работе с надстройкой панели инструментов Google. По какой-то причине это может иногда приводить к длительным задержкам, когда добавление отладчика Visual Studio в браузер. Если вы наблюдаете длительные задержки при загрузке своего веб-приложения и устанавливаете панель инструментов Google (или другие панели инструментов), вы можете попробовать удалить их, чтобы убедиться, что это является причиной проблемы."

Ответ 11

Убедитесь, что у вас нет устаревших сетевых сопоставлений на серверах, которые больше не существуют (сетевые тайм-ауты убьют вас). Или используйте что-то вроде Process Monitor, чтобы увидеть, будет ли сеть (или другая ошибка файла) блокироваться в течение длительного времени.

Ответ 12

Используете ли вы сервер Symbol для загрузки символов для Windows DLL?

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

Инструменты > Параметры > Отладкa > Символы

Ответ 13

Я знаю, что это старая тема, но для чего она стоит...

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

Ответ 14

В моем случае панель инструментов Google замедляла мою отладку. gplus_notifications_gadget.html просто продолжал перегружать отладчик и перегружать его. Я хотел сохранить панель инструментов Google, потому что я использую ее на регулярной основе, поэтому я просто отключил кнопку уведомления G + (маленькая кнопка, кроме кнопки профиля). Теперь она счастлива.

Ответ 15

Работа под отладчиком для меня была примерно в 10 раз медленнее, чем работа без отладки.

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

Для меня оказалось, что отключение Запретить оптимизацию JIT при загрузке модуля в настройках отладки значительно улучшило ситуацию.

Ответ 16

У меня была такая же проблема в VS2010, с чрезмерным замедлением кода (от 3 до 10 секунд). Однако ни одна из вышеперечисленных настроек не сделала этого. В конечном итоге я нашел окончательное решение, которое будет работать во всех вышеперечисленных проблемах: reset все ваши настройки, как описано здесь.

Сначала вы можете сохранить определенную часть своих настроек, например, я сначала сохранил свою цветную тему (Solarized-like), а затем восстановил ее после глобального reset.

Ответ 17

Для меня параметр, который убил производительность (Windows 8, даже повешенный, за исключением движения мыши), был UNCHECK "Разрыв всех процессов, когда один процесс прерывается" в "Параметры" → "Отладка" → "Общие".

Надеюсь, это поможет кому угодно.

Ответ 18

Просто еще одна причина медленного отладки Visual Studio...

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

Обязательно отключите его после использования. Зачем? Поскольку он записывает много данных журнала на диск, пока он включен.

Это ключ FusionLog в реестре окон [regedit.exe]:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

Измените ForceLog, LogImmersive и LogResourseBindings значения от 1 до 0.

Ответ 19

У меня тоже была эта проблема, но это не имело никакого отношения к точкам останова в моем случае. Это были быстрые клавиши, которые я добавил в окне задач:

http://www.customsoftwareframeworks.com/blog/longwaittimetoinsertoraddalineoftextbuginvisualstudio--tasklistwindow--onlywhenaddingandremovelines

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

Спасибо.

Ответ 20

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

Ответ 21

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

Затем я решил очистить решение. Я заметил в окне вывода, что С# IntelliSense сообщила о проблеме при очистке:

Не удалось прочитать метаданные из '{B0C3592F-F0D1-4B79-BE20-3AD610B07C23}' ('Система не может найти файл указано.). IntelliSense не может работать до тех пор, пока не будет перезагружается.

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

НТН

Ответ 22

Закрытие окна "Авто" улучшило отладку для меня в vs2008 для большого родного решения на С++. Скрытие этого не будет работать, оно должно быть закрыто.

Ответ 23

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

В моем случае это одно простое изменение зафиксировало мое решение: в свойствах проекта на вкладке отладки я отключил "Включить процесс хостинга Visual Studio". (Я запускаю VS2010)