2024年5月3日发(作者:)
解决 应用程序错误,内存不能为“read”或“written”
内存不能为“read”或“written”的解决方案
有些人运行飚车程序的时候会弹出该内存不能为“read”的错误提示。希望以下文章
能对大家有所帮助。
使用Windows操作系统的人有时会遇到这样的错误信息,运行某些程序的时候,
有时会出现内存错误的提示,然后该程序会自动关闭或点击后关闭,严重的会无法
关闭。
“0x????????”指令引用的“0x????????”内存。该内存不能为“read”。
“0x????????”指令引用的“0x????????”内存,该内存不能为“written”。
不知你出现过类似这样的故障吗?(0x后面内容有可能不一样。)
散一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有
多方面的问题了。
1、微软IE缓冲溢出漏洞引起
2、内存或虚拟内存地址使用冲突造成程序的运行需要分配一定的内存地址给程序
使用,当程序结束时释放留出空间让给新的程序使用,win是多任务的系统有时前
程序未结束 又有新的任务开始到底要多少内存或虚拟内存来保证我们同时运行的
工作任务呢?也许win在这个问题上没弄好,所以有此错误常常发生,一般运行大
型软件或多媒体后出现这种情况
3、劣质内存条也会出现这个问题一般来说,内存出现问题的可能性并不大,主要
方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混
插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可
以使用MemTest这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问
题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。
4、微软WINDOWS系统的漏洞,windows把内存地址0X00000000到
0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为
是错误。c/c++编写的程序通常不进行严格的错误检查,当采用malloc来分配内
存而可供分配的地址空间不够的情况下返回null指针。但是代码不检查这种错误,
认为地址分配已经成功,于是就访问0X00000000的地址,于是就发生内存违规
访问,同时该进程被终止。ASCII字符填充组成的pif文件时会出现以下情况:一
个非法的pif文件(用ascii字符''x''填充)至少要369字节,系统才认为是一个
合法的pif文件,才会以pif的图标[,0]显示,才会在属性里有程序、字
体、内存、屏幕”等内容。而且仅仅当一个非pif文件的大小是369字节时察看属
性的“程序”页时,不会发生程序错误,哪怕是370字节也不行。当对一个大于369
字节的非法pif文件察看属性的“程序”页时,Explorer会出错,提示:''***''指
令引用的''***''内存。该内存不能为''read'' ,问题出在pif文件的16进制地
址:0x00000181[0x87]0x00000182[0x01]和
0x00000231[0xC3]0x00000232[0x02]即使是一个合法pif文件,只要改动这
四处的任意一处,也会引起程序错误。而只要把0x00000181和0x00000182
的值改为[0xFF][0xFF],那么其它地址任意更改都不会引起错误。
5、可能没有完全正确安装apache服务,且启动了它的原故; 把服务中
OracleOraHomeXXHTTPServer改成停 止
6、应用程序没有检查内存分配失败程序需要一块内存用以保存数据时,就需要调
用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的
内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是
“动态内存分配”,内存地址也就是编程中的“指针”。内存不是永远都招之即来、用
之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这
时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出


发布评论