首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

"0x78a572dc"授命引用的"0xccccccc8"内存 该内存不能为"read"

2012-08-01 
0x78a572dc指令引用的0xccccccc8内存 该内存不能为read在程序中加了一段以后,关闭exe出现:0x78a572

"0x78a572dc"指令引用的"0xccccccc8"内存 该内存不能为"read"
在程序中加了一段以后,关闭exe出现:
  "0x78a572dc"指令引用的"0xccccccc8"内存 该内存不能为"read" 错误。
调试指向:
atlsimpstr.h 107行:
void Release() throw()
{
ATLASSERT( nRefs != 0 ); //调试指向改行……

if( _AtlInterlockedDecrement( &nRefs ) <= 0 )
{
pStringMgr->Free( this );
}
}

求大神解惑!

[解决办法]
估计LZ用了安装了360杀毒吧 

我昨天也遇到同样的问题本来好好的程序,改了几行代码(和字符串毫无关系的)结果也报这个错误
调试了好半天,就是找不到原因,想到早上360说要升级新版本就升级了,于是把360杀毒卸载了 重启电脑,重新编译(Rebulid All), 再运行好了
[解决办法]
查看调用堆栈,找到属于自己代码的最近一行
[解决办法]
if( _AtlInterlockedDecrement( &nRefs ) <= 0 )是错了,自己想想吧

应该是
if( _AtlInterlockedDecrement( &nRefs ) == 0 )
[解决办法]
恭喜你 访问了非法内存

热点排行