在一个多线程应用程序中,经常报出“应用程序错误”警告框。内容是:“"0x004058a5"指令引用的"0x00000008"内存。该内存不能为"read"。
中止程序请按"确定"。
要调试程序,请单击"取消"。”请问如何在找到出错所在的地方,"0x004058a5"和"0x00000008"两个代码是什么意思?
分不够可以加,只要能解决问题。

解决方案 »

  1.   

    debug调试,找到出错地方,f5。一般是指针非法造成的。
      

  2.   

    "0x004058a5"和"0x00000008"是两个地址
    0x004058a5应该是你的一个变量的地址,而0x00000008是内存中的一个地址,并且这个地址是你不可以用的
    出现这种情况,可能是你的代码中用到的一个指针是无效的或者你要使用的对象没有创建成功
    比如:
    char *p;
    delete p; //由于没有给p分配内存,所以这一句有可能会出现内存引用违规的错误,也就是你看到的