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

Я обновил 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

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

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

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


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

0 голосов
/ 06 сентября 2018

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

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

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

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

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

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

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

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

...