应用程序错误如何解决?

2024-11-08 15:34:29
推荐回答(5个)
回答1:

运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,应该只有一个正常的键值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除(默认键值当然不要删除)。
——————————————————————
另附分析

1、微软IE缓冲溢出漏洞引起

2、内存或虚拟内存地址使用冲突造成 程序的运行需要分配一定的内存地址给程序使用,当程序结束时释放留出空间让给新的程序使用,win是多任务的系统 有时前程序未结束 又有新的任务开始 到底要多少内存或虚拟内存来保证我们同时运行的工作任务呢?也许win在这个问题上没弄好,所以有此错误常常发生,一般运行大型软件或多媒体后出现这种情况

3、劣质内存条也会出现这个问题

4、微软WINDOWS系统的漏洞,
windows把内存地址0X00000000到0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为是错误。c/c++编写的程序通常不进行严格的错误检查,当采用malloc来分配内存而可供分配的地址空间不够的情况下返回null指针。但是代码不检查这种错误,认为地址分配已经成功,于是就访问0X00000000的地址,于是就发生内存违规访问,同时该进程被终止。
ASCII字符填充组成的pif文件时会出现以下情况: 一个非法的pif文件(用ascii字符'x'填充)至少要369字节,系统才认为是一个合法的pif文件,才会以pif的图标[pifmgr.dll,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、应用程序没有检查内存分配失败

7、应用程序由于自身BUG引用了不正常的内存指针
像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其他随机数字。

如果系统经常有所提到的错误提示,下面的建议可能会有帮助:

1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。
2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。
3.试用新版本的应用程序。
4、删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件: 在桌面上右击我的电脑,然后单击管理。
在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。
删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。(在删除前请创建这些文件的备份副本。)
打开"服务和应用程序",单击服务,然后打开并启动 Windows Management Instrumentation 服务。当服务重新启动时,将基于以下注册表项中所提供的信息重新创建这些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs
16:33:19

下面我从几个例子给大家分析:

例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。
解决方法:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,Win2000自升级,也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6.0,自升级后,会被IE5.0代替。

例二:在windows xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。
解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\\winnt\\apppatch\\slayerui.dll。右键,属性,也会出现兼容性的选项。

例三:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。 解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。

例四:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“read”,终止程序请按确定。
解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。

例五:双击一个游戏的快捷方式,“0x77f5cd0”指令引用“0xffffffff”内 存,该内存不能为“read” ,并且提示Client.dat程序错误。 解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。 例六:一个朋友发信息过来,我的电脑便出现了错误信息:“0x772b548f”指令引用的“0x00303033”内存,该内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。
解决方法:这是对方利用QQ的BUG,发送特殊的代码

回答2:

朋友,这是你下载(DownLoad)的“软件”和电脑(PC)的“内存”有冲突,(答案原创,引用请说明作者:力王历史)
我给你8种方法调试:
1.用360安全卫士里的“清理插件”,扫描“恶性插件”,再“立即清理”!
2.电脑(PC)里有木马或病毒(virus)干扰,用“360安全卫士”+“360杀毒双引擎版”,用“木马云清理”+“360杀毒”,“全盘扫描”和“自定义扫描”,清理恶性软件!
清理结束,删掉病毒(virus)和木马,重新开启电脑(PC),开机点开“隔离|复原”,彻底删掉木马和恶意软件!
3.假如上边方法不成,下载(DownLoad)个“360系统(System)急救箱”!
先“全盘清理”,清理完毕,删掉“可疑自开启项”和木马,再重新开启电脑(PC)!
之后点开“隔离|复原”区,找到“可疑自开启项”和木马,点“彻底删掉”!
再点开“修复”,“全选”,再点“修复”!
4.你下载(DownLoad)的播放器,或聊天软件,或IE浏览器,或驱动(Drive),或输入法,等等的程序不稳定!(建议卸掉,下载(DownLoad)新的,或将其更新至:“最新版本”)
注意:测试版的软件,可以不更新。
5.或就是你安装了两款或两款以上的同类软件(如:两款播放器,多款聊天软件,或多款浏览器,多款杀毒软件,多款网络(互联网)游戏(game)等等)!它们在一起不兼容,卸掉多余的一种!尽量保持软件:“单一性”!(如:播放器:1款,下载(DownLoad):1款,输入法1款,浏览器1款,音乐(music)1款,网络游戏1款,聊天1款等等)
6.卸载方法:你在电脑(PC)左下角“开始”菜单里找到“强力卸载电脑(PC)上的软件”,找到多余的那款卸掉!
卸完了再“强力清扫”!
或“360安全卫士”,“软件管家”,点开,第4项:“软件卸载”,点开,找
到“多余”和“类似”的软件卸载!如:“播放器”,点开,留下“暴风”,卸载“快播”!如:“下载(DownLoad)”:点开,留下“迅雷”,卸载“快车”!(看准了再卸,别把有用的卸了)
7.再不成,下载(DownLoad)“金山(KINGSOFT)急救箱”,扩展扫描,急救系统(System)!或“金山(KINGSOFT)网盾”,一键修复!
8.实在不成,就“一键还原”系统(System)或“重新安装系统(System)”!

回答3:

1.首先排除病毒原因,使用杀毒软件,比如最新版本的360杀毒快速查杀3-5分钟,根据检查结果,点击立即处理。
2.如果应用程序出错的提示是缺少某个文件,那就可能是这个文件损坏,根据这个组件查询是哪个系统组件损坏,重新安装相关组件,恢复程序文件,一般即可解决。
3.若是相关软件自身的组件缺失,只需要重新安装这个软件即可。比如运行迅雷时提示缺少某个文件,可以尝试重新安装迅雷。
4.若以上方法无效,可能是软件之间的冲突导致出错。解决办法是尝试关闭几个无关的正在运行的应用程序,看看错误是否还会重现。若已解决,就知道是哪两个软件冲突,不再同时运行这两个软件即可解决。或者向厂商反馈故障,督促厂商升级解决。如果不清楚是哪几个软件冲突,可行的解决办法是使用360安全卫士的系统优化,在一键优化里,关闭一些不常用的软件启动。这样开机后运行的程序少一些,冲突的概率会下降。
5.对于另一种应用程序出错,截图显示“应用程序出错,**内存地址不能读或不能写”,这种情况最复杂,若以上方法不能解决,则很可能是硬件(主要是内存)故障,可能是兼容性不良,只能联系硬件供应商修理。或者重装系统,重装后短时间内可能会有效。

回答4:

杀毒杀木马,如果不行就把它卸载,然后重新按装如果故障依然存在,可以考虑这个程序换个版本试试,如果系统不是很好经常出现这种应用程序出错,那建议你还是重做系统吧。

回答5:

开始:运行:msconfig:启动,在启动里除了ctfmon
和杀毒软件别关,其余的前面的勾全部取消.然后应用确定,然后重启电脑看看,还有这个毛病没有