专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++

内存不能“read“或”writen“的意思及解决方法

发布时间:2011-06-28 12:15:31 文章来源:www.iduyao.cn 采编人员:星星草
内存不能“read“或”writen“的意思及解决办法?
“0x7c930fle”指令引用的"0x00000171"内存,该内存不能“read“或0x7c93101a指令引用的"0x00000668"内存,该内存不能为”writen“的意思及解决办法?小妹感到怪,编的程序原正常,稍不注意,不知哪变了一点,就出问题了,请大家说说原因,谢谢!
------解决方案--------------------
这种问题一般为,溢出,越界。
数组越界访问尤其是越界改变数组内容,很容易造成这类问题。
查吧,一查一个准。

------解决方案--------------------
楼上正解 啊啊啊
------解决方案--------------------
引用:
这种问题一般为,溢出,越界。
数组越界访问尤其是越界改变数组内容,很容易造成这类问题。
查吧,一查一个准。

对,检查你使用了指针,数组的地方。这些地方绝对是有问题。
------解决方案--------------------
或者你直接访问了某一个地址:
比如
unsigned char* ptr = (unsigned char* )0x1000;
cout<<ptr+1<<endl;
也会弹出这个:****不能read的警告。
------解决方案--------------------
就是说某个内存不能读取,或者不能写入。一般都是数组越界,或指针访问违例(空指针等),调试跟踪一下
------解决方案--------------------
F5调试运行你的程序.
在出现这个崩溃提示的时候,   点击"中断", "调试".  
然后看调用堆栈, 就知道你的程序崩溃在哪里, 为什么崩溃了.
------解决方案--------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

------解决方案--------------------
引用:
Quote: 引用:

这种问题一般为,溢出,越界。
数组越界访问尤其是越界改变数组内容,很容易造成这类问题。
查吧,一查一个准。

对,检查你使用了指针,数组的地方。这些地方绝对是有问题。

我也这么认为,比如我写过一个这个就是不能read:
char test[10] = "Herro,Word!";

------解决方案--------------------
上面的例子是错误,但就是这个意思,当系统申请的内存小于要读取的内存的时候,说明读取了非法值
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: