在程序中加了一段以后,关闭exe出现:
        "0x78a572dc"指令引用的"0xccccccc8"内存 该内存不能为"read"    错误。
调试指向:
atlsimpstr.h 107行:
void Release() throw()
{
ATLASSERT( nRefs != 0 );   //调试指向改行…… if( _AtlInterlockedDecrement( &nRefs ) <= 0 )
{
pStringMgr->Free( this );
}
}求大神解惑!

解决方案 »

  1.   

    估计LZ用了安装了360杀毒吧 我昨天也遇到同样的问题本来好好的程序,改了几行代码(和字符串毫无关系的)结果也报这个错误
    调试了好半天,就是找不到原因,想到早上360说要升级新版本就升级了,于是把360杀毒卸载了 重启电脑,重新编译(Rebulid All), 再运行好了
      

  2.   

    if( _AtlInterlockedDecrement( &nRefs ) <= 0 )是错了,自己想想吧应该是
    if( _AtlInterlockedDecrement( &nRefs ) == 0 )
      

  3.   

    问题解决了。
    首先,我把
    if( _AtlInterlockedDecrement( &nRefs ) <= 0 )改为
    if( _AtlInterlockedDecrement( &nRefs ) < 0 )  木有效果。
    关闭360杀毒,木有效果。无奈,又将以上改动复原……行了,打开360杀毒,依然正常。问题解决了,但不明白问题出在哪里。