Подтвердить что ты не робот

VS 2012 отладчик зависает, когда я пытаюсь быстро просматривать переменные

Сегодня я столкнулся с крайне раздражающей ошибкой. Я работаю небрежно в консольном приложении, над которым я работаю некоторое время, и без всякой причины, когда отладчик VS2012 начал висит, когда я быстро переключаю любые переменные. Он висит как 15-20 секунд, затем я получаю сообщение

Функция оценки отключена, потому что предыдущая оценка функции завершена

Если я ударил F10, отладчик отключился и процесс продолжится. Он падает почти на все переменные, которые неявно объявлены

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

Шаги, которые я сделал:

  • Перезапустить VS
  • Перезагрузите компьютер.
  • Удалены все точки останова
  • Удаленные файлы ncb и suo
  • Сервер Symbol не включен.
  • Не используется сетевое расположение, пользовательские файлы локальны, файлы проекта локальные.
  • Только мой код включен/отключен
  • Обеспечено Включить стекирование исходного кода .NET Framework НЕ включено
  • Включен режим "Включить свойства"
  • Обеспечено Включить поддержку исходного сервера.
  • Начните визуальную студию с помощью /SafeMode для подавления расширений.
  • Очищенное окно просмотра (в любом случае было пустым)
  • Попробовал изменить целевую платформу на x64 и любой процессор.
  • Отключение антивируса
  • Сброс настроек по умолчанию для Visual Studio (devenv.exe/ResetSettings)
  • Переустановить VS

Приложение, от которого я отлаживаю:

  • Тип: Консольное приложение С#
  • Целевая структура: 3.5
  • Цель платформы: x86

Для моего здоровья, пожалуйста, помогите.

EDIT: У меня есть Visual Studio Update 3, версия 11.0.60610.01

EDIT: мои спецификации компьютера

  • Windows 7 Ultimate 64 бит
  • Dell Optiplex 960
  • Intel Core i5-2400 3.1 Ghz
  • ОЗУ 4 ГБ

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

EDIT: создано упрощенное консольное приложение с теми же настройками, которое содержит только следующие строки кода. Когда я смотрю, у меня возникает проблема с зависанием, а затем она также отключается. Что может быть неправильно с моей машиной?

Это упрощенное приложение, которое зависает отладчиком

static void Main(string[] args)
 {
   var _AppLocation = System.Reflection.Assembly.GetEntryAssembly().Location;
    _AppLocation = _AppLocation.Substring(0, (_AppLocation.Length -
     (System.Reflection.Assembly.GetEntryAssembly().GetName().Name.Length + 5)));

   var directoryInfo = new DirectoryInfo(_AppLocation);
   Console.ReadyKey(); //I break here, check the directoryinfo
 }

РЕДАКТИРОВАТЬ 10/3/13: это все еще не решено, переустановка всего (офис, фреймворк, vs) полностью не решила проблему. Это должна быть ошибка vs2012, связанная с os/hardware. Я открою билет в Microsoft и обновлю, если они узнают что-то полезное.

EDIT 10/30/13: эта проблема была воспроизведена на двух машинах с различной конфигурацией оборудования. Я все еще контактирую с Microsoft, чтобы найти проблему. Похоже, что-то связано с созданием/визуальной студией framework/windows.

РЕДАКТИРОВАТЬ 11/19/13: Я все еще контактирую с командой эскалации Microsoft VS, здесь журнал мониторинга процесса и авария сбоя в этой студии. http://sdrv.ms/1egpX4O

4b9b3361

Ответ 1

Решение найдено параллельно с командой Microsoft VS Escalation. После анализа аварийного дампа и монитора процесса кажется, что процесс отладки VS 2012 проверяет сертификат хранилища для сертификата Microsoft Root Authority.

Так как оба компьютера, где в защищенной среде нет Интернета, оба они никогда не подключались в сети. Таким образом, они никогда не загружали Microsoft CA. Поскольку ЦС отсутствовал в хранилище, он заставил отладчика зависать и разбиваться на целевую структуру 3.5 специально.

Здесь исправление от команды Microsoft VS Team, чтобы обойти эту проверку при отладке: (Добавить в приложение app.config)

<configuration>
    <runtime>
            <generatePublisherEvidence enabled="false"/>
    </runtime>
</configuration>

Проблема решена!

Ответ 2

Рассмотрите возможность использования средства Process Monitor для получения журнала операций с файлами, сетью, реестром и процессами во время вашего расследования. После захвата журнала вы можете просмотреть его и изучить возможную причину. Или вы можете отправить свой журнал мне, и я буду исследовать его на моей стороне.

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

Ответ 3

Я быстро провел исследование msdn и нашел следующее: http://social.msdn.microsoft.com/Forums/vstudio/en-US/2055d3a0-56d9-4134-be23-09a91203e508/quickwatch-says-the-following-for-all-evaluations-function-evaluation-disabled-because-a-previous

Пожалуйста, попробуйте следующие рекомендации, чтобы проверить результат:

Нажмите "Инструменты" | Варианты.. | Отладка | Общие и снимите флажок "Включить оценка свойств и другие неявные функциональные вызовы". в (F11) код, чтобы найти основную причину "тайм-аута" Перезапустить отладки

Для получения дополнительной информации о ошибке оценки функции см. to: http://msdn.microsoft.com/en-us/library/ms234762(VS.80).aspx

Кроме того, мы могли бы получить дополнительные обходные методы оценки функций в блоге: http://blogs.msdn.com/greggm/archive/2005/11/18/494648.aspx

Также это может показаться странным, но у вас есть последнее обновление visual studio 2012?

Ответ 4

У меня возникли некоторые проблемы при запуске VS2012 с включенным UAC (User Account Control), а при установке некоторых расширений VisualStudio связывается с запущенным процессом w3p.exe, который работает как ожидается в рамках одного рабочего процесса. При наличии нескольких рабочих процессов студия не может отслеживать все независимые потоки и дроссели на данных, которые читаются как поврежденная память.

Ответ 5

Для себя у меня есть настройка сохранения, за исключением бит x64. Это всегда давало мне головную боль в программировании... Visual Stutio 32 бит до тех пор, пока я знаю, и, безусловно, есть причина, почему... В любом случае вы примеряете работу и не вешаете... Я не могу точно сказать, почему это произошло я уверен, что это 64-разрядная среда разработки.

Ответ 6

Я попробовал предоставленный код.

VS2012 Ultimate отлично работает в настройках отладки и настройках выпуска.

Я тестировал на двух разных ПК (рабочий стол и поверхность Pro)

Я также принудительно установил x86 вместо AnyCPU.

Вот мой вывод для тестового приложения:

http://beehiver.jurion.me/debug%20working.png

Я рекомендую полностью удалить все VS и ВСЕ версии .net и переустановить. Кажется, это проблема на вашем ноутбуке.

Ответ 7

У меня была та же проблема. Я полагаю, что это больше связано с конфигурацией оборудования. Недавно я обновил с 4 ГБ оперативной памяти до 8 ГБ с Vs 2012 и никогда не смог воспроизвести проблему. Я постоянно получал эту ошибку с более ранней конфигурацией оборудования.

Ответ 8

Эта проблема возникает, когда ваш код ожидает завершения некоторых предыдущих потоков, а также пытается удалить файл .suo, а затем перезапустить visual studio

Ответ 10

Есть также некоторые недостатки VS. Например, если вы одновременно открываете два VS, когда вы пишете код, он иногда не получает ответа и показывает "Сохранение информации об автоматическом восстановлении"

Ответ 11

У меня была такая же проблема с Visual Studio 2015 (включая Update 1 и Update 2). Поэтому отправьте мое решение (которое я представил MS), если у кого-то еще есть эта проблема.

Всякий раз, когда я пытался использовать QuickWatch в Visual Studio 2015 Enterprise, он зависал бы среду разработки. Я не могу нажимать на что-либо, и я вынужден убить процесс через диспетчер задач. Кажется, что модальное окно открывается за ним.

Мой компьютер - HP Spectre, и у меня есть другой монитор, подключенный. Ive попробовал это на обоих мониторах.

Исправление:

  • Переход на один монитор
  • Сделать QuickWatch открытым (что он делает)
  • Переместите его (что должно сохранить положение окна)
  • Закройте его
  • Вставьте второй монитор в
  • Теперь, когда я использую QuickWatch, он будет корректно открыт.