【发布时间】:2009-08-28 01:14:46
【问题描述】:
当我从 Visual C++ 以发布模式运行我的应用程序时,出现以下异常。
未处理的异常: System.AccessViolationException: 试图读或写保护 记忆。这通常是一个迹象 其他内存已损坏。在 _cexit() at .LanguageSupport._UninitializeDefaultDomain(Void * cookie) 在 .LanguageSupport.UninitializeDefaultDomain() 在 .LanguageSupport.DomainUnload(对象 来源,Eve ntArgs 论点)在 .ModuleUninitializer.SingletonDomainUnload(对象 t 源,EventArgs 参数)
这在调试模式下不会发生。最初,我在家用计算机上看到了这个异常,但在工作计算机上却没有。当我继续在我的工作计算机上开发时,我最终碰到了它。
另外,我发现当我添加三个 const std::string 变量时,抛出了异常。如果我删除了,那么一切都很顺利。
另一条信息:我发现在发布模式下关闭所有编译器优化会使异常消失
发生了一些可疑的事情。有关如何追踪此问题的任何想法?
感谢您的帮助, 乔
【问题讨论】:
-
看起来像缓冲区溢出或指针坏了。在这些情况下,错误可能就在抛出异常之前的某个地方......如果你幸运的话。调试愉快。
标签: memory managed-c++ access-violation