读书人

quot;0x78a572dcquot;授命引用的quot;0xccccccc8quot;内

发布时间: 2012-08-01 17:53:40 作者: rapoo

"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 )
[解决办法]
恭喜你 访问了非法内存

读书人网 >VC/MFC

热点推荐