[科普]应用程序-操作系统-内存
今天微问推荐给我回答这样的问题“应用程序发生异常 未知的软件异常 (0xc06d0017e),位置为0x7c812fd3.是什么意思”,回忆了一下,似乎以前有不少人问过我,包括我的亲人在内。再一看提问的人来自浙江丽水,好吧,认真回答一下再转到我的博客上面。我想说,对于这种问题,并不是我不用心帮忙解决,真的是不容易处理。
这些16进制数表示内存地址,这些地址在不同时间可能被不同的程序占用着。对于普通用户来说,想通过这样的错误信息来判断哪个程序出了什么样的问题是非常困难的。按我的经验来判断的话,输入法和应用程序冲突的可能性比较大。来做个比喻吧,这个比喻并不十分准确,但对于不懂电脑的人来说,我想,是有帮助的。
内存对于电脑来说就像是程序的工作地点,如果把内存比做一个万能工厂的车间,那Windows系统使用内存的方式大概是这样的。
有个人或工作小组(应用程序)想在这个车间(内存)里组装一台自行车(完成一项任务),他准备好了所有零件,来到车间门口问车间管理员(操作系统),我需要5平米空地来组装一台自行车。管理员说:“擦,这么点破事还来找我”右手一指“那,看见那个墙角没,那地方没人,你到那装去吧”#_#!!!(操作系统为应用程序分配内存空间)。如果同时又有一个工作小组想组装一台汽车,那要占用更多的空间,同样的管理员会在车间里找出一块空地让他们去工作。
这时候有一伙人想在这车间里同时组装两架飞机(双开大型游戏),那就要考虑一下车间有多大了,假如车间只有500平米,管理会告诉他们,“不好意思,内存不足啦。”
如果在车间内定义一个坐标,就能准确描述每个小组占用了车间中的哪些地方,在内存中,用这种16进制数来表示的地址就相当于平面中的坐标,可以用来准确描述程序在内存用使用了哪些位置。
假如自行车组装完了,这块地方被空出来,又有其他人想做事情的时候,这块地方可能被分配给其他人使用了。有时候,会出现抢空间用的情况,比如一个小组把自己的零件放到其他小组使用的空间中去了。其他小组不干了,哪怕一个螺丝钉也别放我这......够小气的,但事实就是这样,出现这种情况可能是程序漏洞或程序之间冲突。这会导致一些错误例如内存地址不可读或不可写之类的。
也有些人占用一块地方之后就不走了,因为他们一直有活干。或者有些比较霸道的人有活我就干,没活干我也呆在这不走或者做一些见不得人的事情。比如系统进程或系统服务(驱动程序、打印服务等)、常驻内存程序或后台运行程序(杀毒软件、输入法等)、流氓软件或病毒木马等等。我这里吐槽一下暴风影音,做为一个播放视频软件,看完视频之后就没用了,但是他还在内存里呆着,去做那些用户不希望他做的事情,时不时下载个广告然后弹出来或收集一下用户隐私之类的。
假如车间中的某个位置发生了事故,想追究一下责任,就要知道在发生事故的那个时刻,是谁正在使用这块地方工作。考虑当时正在运行的程序,包括常驻内存程序。或系统中新增加了哪些进程。恩,差不多是这样。
说了半天费放了,解决办法如下
应用程序发生异常 未知的软件异常
1.病毒木马造成的,在当今互联网时代,病毒坐着为了获得更多的牟利,常用病毒绑架应用程序和系统文件,然后某些安全杀毒软件把被病毒木马感染的应用程序和系统文件当病毒杀了导致的。
2.应用程序组件丢失,应用程序完整的运行需要一些系统文件或者某些ll文件支持的,如果应用程序组件不完整也会导致的。
3.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。
4.操作系统自身的问题,操作系统本身也会有bug 。
5.硬件问题,例如内存条坏了或者存在质量问题,或者内存条的金手指的灰尘特别多。
应用程序发生异常怎么办
1.检查电脑是否存在病毒,请使用金山卫士进行木马查杀。
2.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。建议:使用完整版或正版系统。
3.安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。
4.如果检查上面的都没问题,可以试试下面的方法。
打开开始菜单→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。
完成后,在输入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。
如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。