Фатальная ошибка выполнения - возможно, ошибка CLR
Я хотел бы получить некоторое представление об ошибке, которую я получаю:
управляемый помощник отладки "FatalExecutionEngineError" обнаружил проблему в "C:app - ... exe. Дополнительные сведения: среда выполнения обнаружила фатальную ошибку... Эта ошибка может быть ошибкой в среде CLR или в небезопасных или не поддающихся проверке частях пользовательского кода. Общие источники этой ошибки включают ошибки маршалинга пользователя для COM-взаимодействия или PInvoke, которые могут повредить стек."
Я хотел бы понять не только саму ошибку, но и то, что/как CLR может играть роль, и я никогда не слышал о COM-intercop или PInvoke.. так что некоторое понимание этого также было бы полезно.
кроме того, действительно странная часть всего этого заключается в том, что если я продолжу через точки останова и не входите в или над, Я не вижу ошибку. Впрочем, если я ... --9-->шаг через строку за строкой, ошибка всплывает! Может кто-нибудь объяснить почему я вижу его, только проходя?
Не уверен, какая другая информация была бы полезной.. пожалуйста, дайте мне знать (красиво конечно! что я могу добавить.
спасибо заранее! :)
4 ответов
Это, скорее всего, не ошибка CLR, но, вероятно,плавающая ошибка. Однако мы не можем сказать, что его вызывает, не видя вашего кода.
попробуйте включить Управляемые Помощники Отладки чтобы выяснить, подавляется ли какая-либо ошибка или нарушение доступа.
Я столкнулся с этим, работая над проектом dotnet Core. Я удалил двоичные файлы и перестроил, это исправило его для меня. Просто делать чистоту и строить или просто перестраивать не имело никакого эффекта.
эта проблема беспокоит меня тоже много, и мне не удалось найти причину, но я нашел работу, чтобы я мог, по крайней мере, продолжать делать свою работу.
для меня проблема возникает, когда я отлаживаю с F10 и F11, и я возбуждаю метод, и этот метод возвращается в файл функций. Таким образом, в качестве обходного пути я поставил точки останова для всех записей методов, и когда я достигну выхода следующего метода, я перейду к следующему с помощью F5, делая это таким образом, это не приведет к сбою.
проблема возникает только тогда, когда я возвращаюсь к *.файл функций из метода с использованием F10 или F11.
Я надеюсь, что это поможет, по крайней мере, в качестве обходного пути, но мне очень интересно узнать фактическую причину этого.
недавно у меня была такая же ошибка. Что я заметил, что у меня 2 совершенно идентичных проекта (оба одинаковые). Один с этой проблемой. Поэтому я заметил, что в моем свойстве проекта--> в меню компиляции--> вверху конфигурация была настроена на выпуск. Я изменяю его обратно на Active (Debug) и перекомпилирую. Теперь он работает нормально. нажмите, чтобы увидеть изображение