"0x78a572dc"授命引用的"0xccccccc8"内存 该内存不能为"read"
"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 )
------解决方案--------------------
恭喜你 访问了非法内存
在程序中加了一段以后,关闭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 )
------解决方案--------------------
恭喜你 访问了非法内存