******************************************************
运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。
“0x????????”指令引用的“0x????????”内存。该内存不能为“read”。
“0x????????”指令引用的“0x????????”内存,该内存不能为“written”。
以上的情况相信大家肢基都应该见到过,甚至说一些网友因为不爽于这个经常出现的错误提示而屡次重装系统。相信普通用户应该不会理解那些复杂的十六进制代码。
出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
一.先说说硬件:
一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:
1。内存条坏了(二手内存情况居多)
2。使用了有质量问题的内存。
3。内存插在主板上的金手指部分灰尘太多。
4。使用不同品牌不同容量的内存,从而出现不兼容的情况。
5。超频带来的散热问题。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
二、如果都没有,那就从软件方面排除故障了。
先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要 *** 作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出肢饥伏现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的 *** 作系统下(如DOS),写数据到这个地址历携会导致立即当机,而在健壮的 *** 作系统中,如Windows等,这个 *** 作会马上被系统的保护机制捕获,其结果就是由 *** 作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于 *** 作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。
在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是“忘记了”向 *** 作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写 *** 作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被 *** 作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的 *** 作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其它随机数字。
首先建议:
1、 检查系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致 *** 作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。
2、 更新 *** 作系统,让 *** 作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候 *** 作系统本身也会有BUG,要注意安装官方发行的升级程序。
3、 尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。
原因如果计算机感染了 HaxDoor 病毒的一个变种,就可能发生此问题。
HaxDoor 病毒创建了一个隐藏进程。此外,该病毒还隐藏文件和注册表项。HaxDoor 病毒的可执行文件可能有多个名称,但通常是 Mszx23.exe。该病毒的很多变种会在计算机上安放一个名为 Vdmt16.sys 或 Vdnt32.sys 的驱动程序。该驱动程序用来隐藏病毒进程。如果删除这些文件,HaxDoor 病毒变种可以恢复它们。
解决方案
警告:注册表编辑器或其他方法使用不当可能导致严重问题。这些问题可能需要重新安装 *** 作系统。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。
要解决此问题,请按照下列步骤 *** 作:1. 打印下面的 Microsoft 知识库文章。参考该文章完成此过程。
307654 (http://support.microsoft.com/kb/307654/) 如碰滚何安装和使用 Windows XP 的故障恢复控制台
2. 单击“开始”,单击“运行”,键入 regedit,然后雹燃单击“确定”。
3. 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogin\Notify
4. 找到并删除注册表子项中任何引用“drct16”或“draw32”的项。
例如,可能会看到类似如下的项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\drct16
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\draw32
5. 插入 Windows XP 安装光盘,然后从光盘重新启动计算机。
6. 在“欢源吵虚迎使用安装程序”屏幕上,按 R(修复)来启动 Windows 故障恢复控制台。
7. 选择与要修复的 Windows 安装对应的数字。该数字通常为 1。
8. 提示输入管理员密码时,请输入管理员密码。如果没有管理员密码,则按 Enter 键。
9. 在命令提示符处,移至 C:\Windows\System32 文件夹。例如,键入 cd C:\Windows\System32。
10. 使用 ren(重命名)命令将下列文件重命名为所示的名称。记住,每键入一个命令后都要按 Enter 键。如果出现“File not found”(找不到文件)消息,则移到列表中的下一个文件。ren 1.a3d 1.a3d.bad
ren cm.dll cm.dll.bad
ren cz.dll cz.dll.bad
ren draw32.dll draw32.dll.bad
ren drct16.dll drct16.dll.bad
ren dt163.dt dt163.dt.bad
ren fltr.a3d fltr.a3d.bad
ren hm.sys hm.sys.bad
ren hz.dll hz.dll.bad
ren hz.sys hz.sys.bad
ren i.a3d i.a3d.bad
ren in.a3d in.a3d.bad
ren klo5.sys klo5.sys.bad
ren klogini.dll klogini.dll.bad
ren memlow.sys memlow.sys.bad
ren mszx23.exe mszx23.exe.bad
ren p2.ini p2.ini.bad
ren ps.a3d ps.a3d.bad
ren redir.a3d redir.a3d.bad
ren tnfl.a3d tnfl.a3d.bad
ren vdmt16.sys vdmt16.sys.bad
ren vdnt32.sys vdnt32.sys.bad
ren w32tm.exe w32tm.exe.bad
ren WD.SYS WD.SYS.bad
ren winlow.sys winlow.sys.bad
ren wmx.a3d wmx.a3d.bad
ren wz.dll wz.dll.bad
ren wz.sys wz.sys.bad
若要在完成后删除这些文件,请键入 del *.bad。
11. 取出 Windows XP 安装光盘,然后键入 Exit 以重新启动计算机。
12. 当计算机重新启动时,单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
13. 找到并删除下列注册表子项以及每个子项下可能存在的任何项。如果来自该列表的任何注册表子项都不存在,则移至列表中的下一个子项。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vdmt16
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vdnt32
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VFILT
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winlow
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memlow
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\vdmt16
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\vdnt32
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\VFILT
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\winlow
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\memlow
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ENUM\ROOT\LEGACY_VDMT16
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ENUM\ROOT\LEGACY_VDNT32
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ENUM\ROOT\LEGACY_WINLOW
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ENUM\ROOT\LEGACY_MEMLOW
14. 找到并删除下列注册表子项下包含 Mszx23.exe 文件名的任何项:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
15. 退出注册表编辑器。
16. 确保已用最新的定义更新了防病毒和防间谍软件程序,然后执行一次完整的系统扫描。
一、榻榻米地台制作示例:1、榻榻米地台制作:制作地台基础,可以木龙骨或大芯板做龙骨框架,外包大芯板制木地台。
2、榻榻米地台制作:对于要安装厚度为5.5厘米的榻榻米,需制作高度为5厘米~5.5厘米的边框,找平;地台下可做抽屉或翻板式储物空间,以提高空间利用率。
3、榻榻米地台制作:测量框内尺寸、异型角度数据等,定汪团制厚度为5.5厘米的榻榻米。
手动型(SMK-300A)榻榻米升降台安装步骤(安装由木工完成)(仅供参考,实际安装时请以随机所附安装说明书为准):
1 、确定桌面的外形尺寸及其位置,建议其外形尺寸在800 ~1000MM之间。
2 、确定地台高度(底板+升降台+桌面板+调整框)并制作地台。调整框加升降台高度(最低)须与图所示H尺寸相一致。
3 、制作桌面及底板。注意预留桌面收口线的位置。
4 、制作档条,并把其安装好使桌面与地台相平。
5 、升降台固定于底板的正中央。
6 、制作调整框,将其固定在桌面板上。
7 、铺地台及桌面地板木,并在桌面四周用木线条收边。
8 、在桌面正中央钻孔(直径30mm),装上装饰套及活动盖。
9 、调整好桌面位置,并将其固定余含在机台上。
10、榻榻米地台内侧及底板若不漆油漆 , 采用铺地板木则在以上步骤相应考虑地板木的厚度。
电动、遥控型(SMK-300B、 SMK-250B)榻榻米升降台安装步骤(安装由木工、电工配合完成)(仅供参考,实际安装时请以随机所附安装说明书为准):
1、确定桌面位置及开关位置,预埋护套管并穿三条线径1.0平方毫米以上(随机配4米长)的电源线,及随机所配的五芯排线。
2、确定地台高度(底板+升降台+桌面板+调整框)并制作地台。
3、确定桌面尺寸,制作桌面(预留桌面四周木线条收边位置)
4、制作底板(竖陵笑见下图,电线孔位置与升降台出线孔相对应)
5、制作档条,并把其安装好使桌面与地台相平
6、制作调整框,其高度应为:H减去升降台最低高度
7、升降台接上电源固定于底板中央,并依次把调整框、桌面暂时固定于升降台上
8、启动升降台电源升降开关,调整好位置并观察桌面与地台平整度,根据观察情况刨削调整框,直至桌面与地台平整,随后固定桌面板。
9、铺地台及桌面地板木,并在桌面四周用木线条收边
10、榻榻米地台内侧及底板若不漆油漆,采用铺地板木,则需在以上步骤相应考虑地板木厚度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)