По необходимости получает мой голос также. Я не использовал его на таких крупных проектах, но это - абсолютно горное тело в моей среде. Это также имеет впечатляющее резюме о крупных проектах, также.
[слух] я услышал, говорят, что Microsoft использовала его для Vista. [/rumor], По-видимому, это была настроенная версия для них, но это не становится намного больше, чем это.
Скорее всего, у вас есть переменная в кадре стека вызовов, у которой есть дорогостоящий метод .ToString. В 2008 году данные для окна стека вызовов перестраиваются на каждом шаге, независимо от того, действительно ли окно отображается. Часть построения этого окна будет вызывать .ToString для значений, которые появляются в списке параметров, если они имеют переопределенный .ToString. Попробуйте отключить неявные вызовы .ToString и посмотрите, решит ли это проблему.
Я обнаружил, что если у вас включена опция отладки неуправляемого кода, отладчику может потребоваться некоторое время для перехода между строками, даже если вы только отлаживаете управляемый код. Попробуйте отключить эту опцию ( Проект> Свойства> Отладка> Включить отладчики> Включить отладку неуправляемого кода ).
Однажды я столкнулся с медленной отладкой, поскольку я настроил VS для поиска файлов pdb в общей сетевой папке, которой больше не существует.
Проверьте здесь: Инструменты - параметры - Отладка - Символы - Расположение файла символов (.pdb)
Я слышал о подобных проблемах, если открыто окно «Авто». Попробуйте закрыть его и посмотрите, улучшится ли ваша производительность.
Если вы еще этого не сделали, вам, вероятно, также следует установить патч «Отладка и точка останова Visual Studio 2008 SP1» . Обратите внимание, что этот патч идет поверх SP1. В документации к патчу конкретно не говорится о наблюдаемой вами медлительности, но это довольно большой патч, и вам может повезти.
У вас настроено много выражений Watch? Они будут оцениваться после каждого шага, и если им потребуется время для выполнения, вы заметите это как задержку при шаге.
В моем случае отключение «прерывать все процессы при прерывании одного процесса» (Инструменты / Параметры / Отладчик) сокращало время «перехода» с 2-3 секунд до долей секунды.
Понятия не имею, почему эта опция так сильно повлияла на выполнение одного шага. Кстати, я полагаю, что отключение этой опции может вызвать проблемы, если вы используете потоки, которые не независимы друг от друга. .