Неустранимая ошибка во время выполнения - возможно, ошибка CLR - PullRequest
10 голосов
/ 16 февраля 2011

Я хотел бы получить представление об ошибке, которую я получаю:

Помощник по управляемой отладке «FatalExecutionEngineError» обнаружил проблему в «C: \ app.exe». Дополнительная информация: во время выполнения произошла фатальная ошибка ... Эта ошибка может быть ошибкой в ​​CLR или в небезопасных или не поддающихся проверке частях пользовательского кода. Распространенными источниками этой ошибки являются ошибки пользовательского маршалинга для COM-взаимодействия или PInvoke, которые могут повредить стек. "

Я хотел бы понять не только саму ошибку, но и то, что / как CLR может сыграть роль, и я никогда не слышал о COM-intercop или PInvoke ... так что некоторое понимание этого также будет полезно.

Кроме того, действительно странной частью всего этого является то, что, если я продолжаю проходить через точки останова и не перехожу или не перехожу, я не вижу ошибки . Однако, если я пошагово перебираю строку, появляется ошибка ! Кто-нибудь может объяснить, почему я вижу это только во время прохождения?

Не уверен, какая другая информация будет полезна ... пожалуйста, дайте мне знать (конечно, хорошо!), Что я мог бы добавить.

Заранее спасибо! :)

Ответы [ 5 ]

3 голосов
/ 02 мая 2017

Я столкнулся с этим, работая над проектом Dotnet Core.Я удалил двоичные файлы и восстановил, это исправило это для меня.Простое выполнение Clean and Build или просто Rebuild не дало никаких результатов.

2 голосов
/ 16 февраля 2011

Скорее всего, это не ошибка CLR, а, вероятно, Heisenbug . Однако мы не можем точно сказать, что вызвало это, не увидев ваш код.

Попробуйте включить Управляемые помощники отладки , чтобы выяснить, подавляется ли какая-либо ошибка или нарушение прав доступа.

1 голос
/ 29 октября 2015

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

Для меня проблема возникает, когда яотладка с F10 и F11, и я восхищаюсь методом, и этот метод возвращается в файл возможностей.Поэтому в качестве обходного пути я установил точки останова для всех записей методов, и когда я добираюсь до выхода следующего метода, я перехожу к следующему с помощью F5, делая это таким образом, чтобы он не падал.

Кажется, проблема возникает только тогда, когда я возвращаюсь к файлу * .feature из метода, использующего F10 или F11.

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

0 голосов
/ 27 февраля 2019

Что ж, я расскажу вам о моей грустной истории, чтобы другие не попали в ловушку снова из-за одной и той же ошибки, это случилось со мной в случае, когда я непрерывно вызывал нативный API C ++ внутри потока бесконечного цикла и забывалпри необходимости останавливайте поток, иногда эта ошибка, о которой вы упоминали, взрывается или исключение памяти, защищенное от чтения / записи, и, что еще хуже, иногда все приложение просто рушится:)

Это все, ребята.

0 голосов
/ 02 октября 2017

У меня недавно была такая же ошибка.Что я заметил, что у меня 2 абсолютно одинаковых проекта (оба одинаковых).Один имеет эту проблему.Так что я заметил в свойстве проекта -> в меню компиляции -> сверху, конфигурация была установлена ​​на выпуск.Я изменяю его обратно на Active (Debug) и перекомпилирую.Теперь работает нормально. нажмите, чтобы увидеть изображение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...