谁能帮忙解答问题;程序退出时有如下错误
---------------------------
"0x004010fc" 指令引用的 "0x013010a0" 内存。该内存不能为 "read"。
 要终止程序,请单击“确定”。
要调试程序,请单击“取消”。
-------------------------
通过这个错误,找到错误的地方?

解决方案 »

  1.   

    原因可能很多
    比如在析构函数中delete内存时没有判断其是否为NULL(可能已经delete了)
    可能是使用了野指针,可能……
      

  2.   

    内存问题
    debug看看具体在哪儿不想解决的话就try,catch掉好了
      

  3.   

    lib和exe是不是一个单线程一个多线程?
      

  4.   

    太多可能性了,不过一般是内存泄漏,如果是内存泄漏就随便设个断点,程序推出出错后就自动指到出错的语句上了;如果Realse版本出错但Debug不出错的话就有个能是函数规范性问题
      

  5.   

    哎呀,好多。主要是程序在我的开发电脑上运行没问题,可是发布后到别的电脑上运行Realse或DEBUG都会出问题
      

  6.   

    我都用到了这样的判别呀CApp::~CApp()
    {
    if(m_pSocket)
    delete[] m_pSocket;
    if(m_pSendCmdThd)
    delete[] m_pSendCmdThd;
    if(m_pDoc)
    delete[] m_pDoc;
     WSACleanup();
    }
      

  7.   

    如果机器没有装VC,缺省在程序崩溃时会有dr.Watson程序生成崩溃文件。dump文件的位置你可以运行drwtsn32来查看,找到文件,在文件中字符串"Fault"的地方发生了问题,看看能得到有用的信息吗
      

  8.   

    CApp::~CApp()
    {
    if(m_pSocket)
    delete[] m_pSocket;
    if(m_pSendCmdThd)
    delete[] m_pSendCmdThd;
    if(m_pDoc)
    delete[] m_pDoc;
     WSACleanup();
    }但有时m_pSocket并不是0x00000000,而是0xcccccccc,所以判断还是会去delete[] m_pSocket,不用m_pSocket了就先把m_pSocket置0
      

  9.   

    我收回"不用m_pSocket了就先把m_pSocket置0"这句话,讲错了....