【发布时间】:2011-01-10 19:47:57
【问题描述】:
在运行以下代码时
if (CDocManager::pStaticDocManager != NULL)
{
delete CDocManager::pStaticDocManager;
CDocManager::pStaticDocManager = NULL;
}
delete 语句中出现异常“ChinaEncrypter.exe 中 0x0041f09d 处的未处理异常:0xC0000005:访问冲突读取位置 0x00003130”。
*注意:*此错误仅在发布模式下出现,pStaticDocManager 仅在发布模式下初始化。在调试模式下,它在整个过程中都具有 NULL 值。
提前致谢。
【问题讨论】:
-
无需检查 NULL,
delete会自动进行 -
你能进入 CDocManager 析构函数的框架源代码吗?同时打开异常窗口 (Ctrl+E) 并在引发 Win32 异常时中断。尝试离访问冲突的根源更近一点。
-
你的代码是清理静态文档管理器还是框架代码?
标签: visual-c++ mfc