Я получаю следующее исключение, когда запускаю свое приложение в режиме Release из Visual C++.AccessViolationException в режиме выпуска (C++)
Необработанное исключение: System.AccessViolationException: Попытка чтения или записи в защищенную память . Это часто указывает , что другая память повреждена. в _cexit() в .LanguageSupport._UninitializeDefaultDomain (Пустота * печенье) в .LanguageSupport.UninitializeDefaultDomain() в .LanguageSupport.DomainUnload (Object источника, Ева ntArgs аргументы) в .ModuleUninitializer.SingletonDomainUnload (объективистский источнике т , Аргументы EventArgs)
Это не происходит в режиме отладки. Первоначально я видел это исключение на своем домашнем компьютере, но не на компьютере. Когда я продолжал развиваться на своем рабочем компьютере, я в итоге наткнулся на него.
Кроме того, я обнаружил, что при добавлении трех константных std :: string переменных исключение было выбрано. Если я удалю, тогда все пойдет хорошо.
Другая часть информации: Я обнаружил, что отключив все оптимизации компилятора в режиме выпуска делает исключение уходит
Что-то подозрительное происходит. Любые идеи о том, как отслеживать это?
Спасибо за помощь, Джо
Выглядит как переполнение буфера или указатель испортился. В этих случаях ошибка * может * быть где-то непосредственно перед точкой, в которой возникает исключение ... если вам повезет. Счастливая отладка. –