Я пытался узнать больше об этой проблеме, и мне не повезло. Я продолжаю читать, что в приложениях не должно появляться этой ошибки, и, хотя это нормально, это не говорит мне, что может вызвать появление этой ошибки.
Я знаю, что этот вопрос очень широкий, так как я уверен, что для этой ошибки может быть несколько причин, поэтому я постараюсь немного ее сузить.
Я работаю в VS2003 над разработкой приложения, которое использует C ++. NET
Приложение использует в основном неуправляемый код и мало управляемый код (из-за сильного вмешательства сборщика мусора). Так что я бы оценил 95% неуправляемых, 5% управляемых
Я где-то читал, что нестабильный / глючный / неправильный неуправляемый код может испортить части памяти CLR, делая его поврежденным и выдавая эту ошибку.
Поскольку 95% приложений неуправляемые, я не уверен, с чего начать.
Может быть, несколько классов, которые взаимодействуют между управляемым и неуправляемым?
Как насчет сортировки данных от управляемых к неуправляемым?
Может ли неправильный нулевой указатель вызвать этот сбой?
Какие другие проблемы могут вызвать это? Индекс массива вне границ? А как насчет нулевого объекта?
Любая информация / статья / статья, которая может дать хороший список возможных причин сбоя System.ExecutionEngine, будет принята!
Исходя из ответов, это исключение может быть вызвано несколькими сценариями, упомяну htem в ответе для лучшей наглядности.
Список возможных причин / сценариев -
Возможные обходные пути / решения -