在一个多线程应用程序中,经常报出“应用程序错误”警告框。内容是:“"0x004058a5"指令引用的"0x00000008"内存。该内存不能为"read"。
中止程序请按"确定"。
要调试程序,请单击"取消"。”请问如何在找到出错所在的地方,"0x004058a5"和"0x00000008"两个代码是什么意思?
分不够可以加,只要能解决问题。
中止程序请按"确定"。
要调试程序,请单击"取消"。”请问如何在找到出错所在的地方,"0x004058a5"和"0x00000008"两个代码是什么意思?
分不够可以加,只要能解决问题。
解决方案 »
- VC如何访问多表格的数据库
- 请教nColors = 1 << ds.dsBmih.biBitCount 是什么意思?
- 如何获取mediaPlayer需要播放的时间?
- 3000分的问题,关于防火墙穿透的问题
- 使用LineTo画线,但点比较多时(例如10万个点)速度很慢,怎么办?
- 我的进程的默认权限是否就是当前用户的权限?我用administrator登录运行的程序权限不够?
- 如何在DOC/VIEW的结构中从VIEW外部如DOC向VIEW发出字符串?
- 如何得到在ListCtrl中拉动一列时的消息?????
- Scan Disk is now checking drive C for errors 。开机“滴“一声,
- 计算指令偏移
- 【急】求一篇文章
- 如果关闭有模态对话框的程序?
0x004058a5应该是你的一个变量的地址,而0x00000008是内存中的一个地址,并且这个地址是你不可以用的
出现这种情况,可能是你的代码中用到的一个指针是无效的或者你要使用的对象没有创建成功
比如:
char *p;
delete p; //由于没有给p分配内存,所以这一句有可能会出现内存引用违规的错误,也就是你看到的