分享

应用程序错误,0x指令引用的“0x00000000”内存。该内存不能为read(或writ

 xiaozhenyu 2011-11-25
应用程序错误,0x指令引用的“0x00000000”内存。该内存不能为read(或writ...
原理就不解释了——如果你不懂,俺没能力说明白,如果你清楚,俺就是罗嗦了——你可以去网上搜索答案,一般有点编程基础的话都不难理解。

  出错图:

  为了便于快速排除,所以在处理方法里介绍一般的故障特征:

  一、软件问题与处理

  1、用杀毒软件杀毒杀木马。

  2、只在启动时候出错:
    2.1、删除%windir%\Prefetch目录下的所有*.PF文件;

    2.2、尝试用软件关闭XP的“预读”(例如超级兔子、优化大师http://hi.baidu.com/%D5%DD%B2%F5/blog/item/e9d3c5c8632bb9177f3e6fa3.html);

    2.3、检查/减少启动项内容(可以利用软件查看启动项,例如优化大师、超级兔子)。

  3、从桌面或开始菜单中打开任何一个程序,出现错误(而开始”菜单的“运行”可以打开):
    “开始”菜单的“运行”,输入regedit,回车,打开注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}将其他的删除(默认键值不要删除)。

  4、IE浏览网页或者上网才出现错误:
    4.1、查杀BHOBrowser Help Objects,实现了特定接口的COM组件,简单的说就是“IE插件”,部分插件或许被称为“流氓软件”,例如雅壶助手;另外,这些插件可能相互之间存在冲突),例如360安全卫士http://hi.baidu.com/%D5%DD%B2%F5/blog/item/5934c02a3fe3829b033bf695.html

    4.2、用软件修复IE、系统;(例如360安全卫士http://hi.baidu.com/%D5%DD%B2%F5/blog/item/5934c02a3fe3829b033bf695.html

    4.3、
      “开始”菜单的“运行”,输入“regsvr32 actxprxy.dll”回车,接着会出现一个信息对话框“DllRegisterServer in actxprxy.dll succeeded”,确定。再依次运行以下命令;

regsvr32 shdocvw.dll
regsvr32 oleaut32.dll
regsvr32 actxprxy.dll
regsvr32 mshtml.dll
regsvr32 msjava.dll
regsvr32 browseui.dll
regsvr32 urlmon.dll

      注意:如果注册失败,出现“regsvr32 shdocvw.dll“错误时,可能是因为Regsvr32没有在系统中找到shdocvw.dll文件。下面的也一样。

  5、运行某个软件(例如游戏)出错:
    重新安装这个软件,或者更改系统设置(例如安装DX9C;比较复杂不说了)。

  6、如果安装了微软NET.Framework(在控制面板的添加/删除程序里查看):
    6.1、“开始”菜单的“运行”,输入:regsvr32 jscript.dll ,回车;再输入:regsvr32 vbscript.dll,回车。
    6.2、重新安装NET.Framework或者升级NET.Framework,另外也可以尝试卸载它。
    微软相关文档:
          《FIX: ": 内存不能 ' 读取 ' " .NET 框架应用程序负载时错误信息http://support.microsoft.com/kb/830724/zh-cn

  7、打开“我的电脑”、“我的文档”等出错:
    检查右键菜单是否太臃肿或者有失效项目,可以尝试清理右键菜单。

  8、"0x00000000"指令引用的"0x00000000"内存。该内存不能为"read";
    要中止程序,请单击“确定”,:
    要调试程序,请单击“取消”:
    点“确定”或者“取消”,出现一个对话框,“你的电脑在60秒后关闭……”

    这种情况可能是系统崩溃;上微软自动更新,或者用软件扫描漏洞,反正就是打补丁啦(http://hi.baidu.com/%D5%DD%B2%F5/blog/item/5934c02a3fe3829b033bf695.html)。

  9、通用处理方法(不针对特定情况):
    
9.0、重新设置虚拟内存;

    9.1、用杀毒软件杀毒杀木马;

    9.2、用软件(例如360安全卫士http://hi.baidu.com/%D5%DD%B2%F5/blog/item/5934c02a3fe3829b033bf695.html)查找系统漏洞、插件,修复漏洞、安装补丁、清理插件;

    9.3、“开始”菜单的“运行”,输入regedit,回车,打开注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}将其他的删除(默认键值不要删除)。

    9.4、(这个看不懂可以跳过,无法给你更详细的解释,Winnt是2000系列的系统目录,9X、XP为WINDOWSWinnt\你也可以用%windir%\代替删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件:在桌面上右击电脑,然后单击管理。 在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。(在删除前请创建这些文件的备份副本。) 打开"服务和应用程序",单击服务,然后打开并启动 Windows Management Instrumentation 服务。当服务重新启动时,将基于以下注册表项中所提供的信息重新创建这些文件:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs  

    9.5、“开始”菜单的“运行”,输入:cmd /d, 回车,在命令提示符下输入:
        for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1,再回车;
        (警告:这是最有效最简单的修复方法,但同时也是比较危险的,所以将它放在最后,这个方法一般建议在查毒确认安全以后才尝试)。

  二、硬件问题以及检查

  1、内存条坏了(几年的老机,或者新插的二手内存);
  2、使用了有质量问题的内存(如果是插新内存才出现问题,建议去换);
  3、内存不兼容(一般是因为多条内存混插,体现在新加的内存不兼容,例如内存品牌不同、型号不同[如DDR333+DDR400],另外,双面的兼容性应该比单面好,但不是绝对的);
  4、机箱灰尘太多、硬件接触不良(一般是老机器),环境潮湿。
  5、散热问题(例如超频、风扇不转或者积尘太多)。
  6 、电源问题(电压不稳,或者电源质量差、功率低——一般是老机器)。
  7、硬盘有问题 ,进行磁盘扫描修复。

来自: http://hi.baidu.com/libanggeng/blog/item/d64e48c89e655bf053664f00.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多