it-swarm.com.ru

Ошибка отладки Visual Studio 2017: для предотвращения небезопасного прерывания при оценке функции * .toString все потоки, где разрешено запускать

Я обновил Visual Studio 2017 до версии 15.8.2. 

После этого обновления я начал сталкиваться с этими ошибками при отладке:

 Error Image 1

 Error Image 2

 Error Image 3

Вот сообщения об ошибках:

Ошибка отладки Visual Studio: для предотвращения небезопасного прерывания при оценке функции * .toString все потоки, где разрешено выполнение. Это могло изменить состояние процесса, и любые обнаруженные точки останова были пропущены.

Эта ошибка появляется довольно часто, и через некоторое время происходит сбой Visual Studio.

Я попытался удалить и установить Visual Studio снова и сбросить настройки, но мне не повезло. 

Когда я отключаю опцию «Включить оценку свойств и другие неявные вызовы функций», я получаю ту же ошибку, когда пытаюсь оценить некоторые свойства, перемещая указатель мыши над ними. Без него довольно сложно отладить, и у меня не было проблем до этой сборки.

Проблема та же с C # и Visual Basic (.NET).

Есть ли решение этой проблемы? Моя команда без проблем работает над тем же проектом с Visual Studio 2017 версии 15.7.4 

4
Sorin George Budescu

Я добавляю то же сообщение об ошибке, но с другим именем функции:

Для предотвращения небезопасного прерывания при оценке функции 'Microsoft.VisualStudio.Debugger.Runtime.Tracing.Refresh' все темы было разрешено бежать. Это могло изменить состояние процесса и любые найденные точки останова были пропущены.


Вот как я избавился от этой надоедливой ошибки:
В Visual Studio 2017 перейдите в
Инструменты → Параметры → Отладка → Общие → Проверить «Использовать управляемый режим совместимости».
благодаря этой статье:
https://www.codeart.dk/blog/2018/9/vs2017-debugger-timeout/

3
groch

Ошибка отладки Visual Studio 2017: для предотвращения небезопасного прерывания при оценке функции * .toString все потоки, где разрешено запускать

Согласно этот документ :

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

И чтобы решить эту проблему, вы можете попробовать следующие два решения:

  • Решение № 1: не позволяйте отладчику вызывать свойство getter или
  • Решение №2. Пусть целевой код попросит отладчик прервать метод ToString

Кроме того, если вышеуказанное не устраняет эту ошибку, вы также можете установить предыдущую старую версию Visual Studio, чтобы проверить, работает ли она для вас:

https://docs.Microsoft.com/en-us/visualstudio/productinfo/install-an-earlier-release-of-vs2017#top

Надеюсь это поможет.

0
Leo Liu-MSFT