关于WIN2K内存读错误的问题。
小弟的WIN2K经常出现一个什么“内存地址:XXXXXX的,该地址不能为read”的错误。小弟知道微软有这个补丁,可是,偶的学校是教育网,无法登录微软的网站,所以,哪位大虾能给个国内的下载地址啊?! 问题点数:50、回复次数:7Top
1 楼ravenkatte(Oracle Applications DBA/Technical Consultant)回复于 2003-11-02 15:29:12 得分 0
这个问题目前还没有定论
微软对这个问题也没有推出过什么补丁Top
2 楼zhiqiu(http://www.bsdlover.cn(找兼职,谁有需求?))回复于 2003-11-02 15:34:11 得分 20
1。有时候内存不兼容也可能出现这个问题,尤其是插两条内存时
2。是软件冲突造成的,系统要对一段内存进行保护,其他用户程序无法访问,当用户程序非法读取这些内存空间时,就会发生这样的错误。从操作系统底层的角度来说应该是:由于有用户模式的程序试图访问以内核模式运行的进程,在进程间通信的共享地址段中试图读取被保护的数据流,因此造成了访问冲突。根据我的经验这个问题最大的可能是由于防病毒软件或一些第三方的系统监视服务禁止了该程序对某些内存地址的访问操作。
引发原因都是如下所述:
NT/2000的每一个进程都在启动时分配了4GB(0xFFFFFFFF)的虚拟内存。其中的某些部份实际上是由所有进程共享的,例如核心和设备驱动程序区域。但它们都会被映射到每个进程的虚拟地址空间里。实际上没有进程分配到4GB的物理内存,而是仅当需要时才分配物理内存。因此每一个进程都有各自的4GB虚拟内存,编址范围从0x00000000到0xFFFFFFFF。其中,0x00000000-0x0000FFFF是为NULL指针分配而保留的。访问该区域内存将导致“非法访问”错误。0x00010000-0x7FFEFFFF是用户进程空间。EXE文件的映像被加载到其中(起始地址0x00400000),DLL(动态链接库)也被加载到这部份空间。如果DLL或EXE的代码被装入到该范围的某些地址,就能够被执行。访问该区域中没有代码装入的地址将导致“非法访问”错误。0x7FFF0000-0x7FFFFFFF是保留区域,对此区域的任何访问都将导致“非法访问”错误。0x80000000-0xFFFFFFFF仅供操作系统使用。用于加载设备驱动程序和其它核心级代码。从用户级应用程序(ring 3)访问此区域将导致“非法访问”错误。
建议您首先只保留一条内存试试,如果不行就尝试卸载防病毒软件然后检查是否问题依旧,这不是什么大的问题,不需要像大家说的重装系统,不能读就不读嘛,呵呵,当然你要是个追求十全十美的人,可以考虑重装系统,但是我要说的是除非你不再装其它软件,就装个系统,要不然这种错误你应该还是要碰到的,就像win98里的无效页面错误一样。
Top
3 楼rideyou(紫雪秋凡)回复于 2003-11-02 15:46:28 得分 0
偶就一根条子啊,是宇瞻的DDR266Top
4 楼rideyou(紫雪秋凡)回复于 2003-11-04 20:12:49 得分 0
偶的意思是运行软件时出现的这个错误提示。Top
5 楼northpointstar(天文)回复于 2003-11-04 21:13:46 得分 20
这是windows的分页保护机制,有写软件运行错误后读0x80000000到0xffffffff的系统空间时就会出现此错误,这是windows的内部机制,无所谓补丁下载Top
6 楼hanxiao19811230(含笑)回复于 2003-11-04 22:52:29 得分 0
我也遇到过这种问题!Top
7 楼value(郁闷)回复于 2003-11-04 23:49:43 得分 10
大部分是有些软件的问题,分配内存没有及时释放,时间长了造成内存泄露,不过也不排除是硬件的问题,但个人觉得是硬件问题的几率不大,你可以观察是使用什么软件经常出现这种问题,还有也可能是病毒,可以杀杀毒试试!个人意见,大家交流!Top




