每个软件开发人员都会遇到bug,那bug是什么呢?当软件开发人员能够测试标准后发掘的问题成为bug。那么解决bug的方法有哪些呢?电脑培训建议首先软件开发人员需要掌握怎样快速定位,之后修改程序就可以了。
一、断点调试:
1、打断点:打断点、清除断点。
2、启动调试模式的两种方式:一是通过debugas启动调试程序二是在程序运行时铅困,DDMS视图下选取要调试的程序,启动调试模式。
3、调试:可使用F5、F6、F7、F8快捷键。
4、通过watch查看成员变量。
二、打印调试:
?打印调试对于循环、JNI等代码段很有效,循环时越发管槐丛念用。
三、目视法:
?适用codereview,但毕竟人为的,多打一个点,都会出现问题,不过代码量少的时候很好用。
四、自动化测试:
?Android程序开发自动化测试工具有:monkey、Robotium、Appium、云端测试。
五、排除法:
?当遇到随机问题时郑橘可使用排除法检验,先大概定位问题点,再用代码一点点注释,查看变化,渐渐缩小问题范围。
笔者不同意下面网友的回答。程序员如果解决bug的水平停留在百度,那么本质上只是一个“面向搜索引擎的代码搬运工”,是不合格的程序员。
程序员对面bug,正确的“打开方式”是像福尔摩斯和柯南那样,寻找线索、运用逻辑推理来缩小问题可能的根因范围,最终精准定位。
常用的方法有:
1. 坏境上下文变换法
2. 工具调试法
3. 版本回溯对比法
4. 代码审计法
……
没有编程问题是stack overflow和Google解决不了的,假设你在编程中遇到了问题,你自己解决不了、你周围的的人都解决不了的时候,我觉得stack overflow、Google是你最好、也是最后的帮手。
作为一个程序员,我觉得Google、stack overflow是你必须要学会使用的两个工具,这两个工具本身并没有使用门槛,只不过因为一些众所周知的原因,很多人不能使用Google和stack overflow这两款工具。
Google主要还是方便,而且很多编程问题都需要用到英文搜索,当然现在百度在专业能力上也提升明显,不过跟Google也还是有比较大的差距,因此我还是强烈建议要学会耐简使用Google,这会帮你在工作、学习上事半功倍。假设Google确实因为某些原因没办法很好的使用,我也建议你至少要会使用Bing搜索。
现在可以说stack overflow上没有你找不到的问题了,从IDE环境安装问题,到各类编程语言问题。算法问题,数据结构问题,调试,重构等等,几乎这里就没有你找不到的答案,可以说在stack overflow上你可以找到任何解决方案,并且上面的回答者基本上都是非常有经验,而且都是实际中遇到的问题分享出来的,这个工具一定要会使用。同理,除了stack overflow这个专业的垂直程序员问答社区,你也可以使用Quora这个综合问答社区,这上面也能找到很多问题的答案。
一些比较优秀的文本编辑器: Emacs/Vim,Visual Studio Code,Sublime Text,Atom,Ultraedit,Hbuilder等。
一些比较非常出色的IDE集成开发环境: visual studio,IntelliJ IDEA,PhpStorm,Haskell for Mac ,eclipse,WebStorm,GoLand,CLion,Android Studio,Xcode,QT等。
macOS平台比较好的第三方包管理工具: Fink,Macports,Homebrew等。
一些比较好的终端工具: Zoc7,iTerm2,Cmder,terminus,hyper等。
一些比较好的笔记软件、markdown工具、效率工具: Evernote,有道云笔记,为知笔记,Ulysses,MWeb,FileZilla,Snipaste,Kantu等。
虚拟机软件、容器软件: Parallels Desktop,VMWare Fusion,Virtual Box,Docker等。
我是个程序员,职务是linux底层驱动工程师。平时的主要工作是调试驱动,但产品遇到诸如死机、重启、不开机之类的问题时,也要参与查找原因。一部分问题,确实可以查看相关的log,然后百度这些log的关键字来解决;但更多的问题,牵扯的条件太多,并不是简单的百度就能解决的。
观察了周围同事们的做法滚卖,我总结出以下几种解决方法:
百度因为竞价排名的原因,搜索出来的结果有很多广告的成分,所以有时候要翻好几页才能看到一条相关的答案,有些甚至要翻几十页。
因为百度搜索使用的是SEO技术,即普通用户可以通过优化网站内容来提升关键词排名。
而这就会导致一个问题:你搜索关键词后展现出来的结果是有人想要让你看到的,并不是质量最好的。
也就是说,百度搜索结果被人为干预了。所以百度一直被网民所诟病。
但百度搜索不出结果,未必是百度的原因,也有可能是自己输入的搜索词不准确造成的。所以对于百度,我们要做到如下几点:
除此之外,百度搜索还有点小技巧,粥左罗《万字干货,彻底讲透搜索技巧,10倍提升你的搜索力(免费教程)》这篇文大亩逗章写得非常好,我整理几点,仅供参考:
01 过滤目标内容
命令:“+”“-”
用法:通过“+”和“-”来对搜索结果进行过滤
比如在关键词后加上“-推广 -推广链接”就可以排除搜索结果中包含相应字样的链接。如果你发现广告还没有排除干净,你也可以再加上“-广告”通常就能彻底的消灭广告。
02 搜索包含某关键词的内容
命令:“intitle”
用法:通过“intitle”命令指定搜索结果中要包含的关键词,注意“intitle”后边连接的冒号是英文状态下的。
03 搜索某一个格式的文件
命令:“filetype”
用法:通过“filetype”命令可以限制我们要搜索文件的类型,注意“filetype”后边接的冒号也是英文状态下的。
04 搜索特定时间范围的内容
命令:“时间..时间”
用法:通过“时间..时间”命令可以限制我们要搜索的文件的时间,注意两个时间的中间顿号没有空格。
相对百度,谷歌、必应对于技术搜索,就相对准确许多,所以当你百度搜索不到时,尝试下别的搜索引擎,说不定会有新发现。
现在程序员使用的机器语言,都是国外的,更准确的说,都是美国的。所以很多论坛、资料等,都是英文。如果你只会用中文来搜索,某些小众的问题,当然搜不到啦。
所以,要学会使用英文关键字来搜索。
有时候甚至要去国外的一些论坛来搜索想要的答案,这就要求要有一定的英语阅读能力,不能一看到英文帖就放弃。
有时候不管你如何搜索,都找不到自己想要的答案,该怎么办呢?这种情况下,就只能硬着头皮尝试自己解决了。
或者,寻求同事或朋友的帮助,寻求大脑风暴,说不定就会有思路。
如果有些问题是因为新器件带来的,还可以找到器件供应商,让他们安排技术支持帮忙查找原因。
除此之外,还可以把问题整理好,写清发生的条件、复现步骤、测试方法、相关的LOG截图等资料,去一些技术论坛发求助帖,寻找大牛的帮助。
做技术时间久了,发现有些问题确实无解,根本没有办法去解决它。
这时候,我一般会尝试把它绕过,就是说,想办法让它无法复现,虽然问题还是存在,但是能把它掩盖过去。
比如有些驱动在开机启动时会加载不正常,那么就让它晚点启动,或者手动加载。这也不失为一种解决问题的方法。
以上就是我的建立,希望对你有帮助。
首先作为一个程序员,一个优秀的程序员最最最重要的能力就是解决问题的能力。这里解决问题的能力当然就包含了解决 bug 能力了
毕竟,程序员这一生,可能会写无数个 bug ,没有说哪个程序员敢保证自己写的程序没有 bug 。 所以,写了 bug ,遇到 bug 并不可怕,可怕的是你没有解决 bug 的能力 。
作为一个程序员,解决 bug 的途径有哪些呢?我们来一起聊一聊!
其实,每个程序员在学习编程的时候,都会使用编程工具,而现在的开发工具,其实功能都很强大。如果你自己合理利用编程工具,都了解和懂得开发工具的一些技巧,其实不仅仅能够提高开发效率,而且还能够帮助你解决很多编程中的实际问题。
debug 调试,大部分你常用的开发工具,都会有调试模式的,简而言之,就是你编程的时候,遇到了不是自己所想的结果的时候,你可以使用 debug 模式,来一步一步的调试,在调试模式下一般每一步都会显示所执行的结果,你可以看看在哪一步出错了,执行的结果与你预想的结果不对,那么你就能够找到问题所在了。
还有就是,开发工具的控制台,都会提示出报错信息的,现在的开发工具,都会直接告诉你哪一行,报了什么错。其实,很容易定位到错误的。你只需要在编程的过程中积累经验,知道报什么错,用什么方法来解决就行啦。
可是,提示的报错信息,我不知道用什么方法来解决的时候,该怎么办呢?这就是你需要积累的,也是问题中所描述的,就是通过搜索引擎来找答案。
不对,这里不应该是合理使用搜索引擎,应该是学会正确使用搜索引擎。比如:百度,你就不要用了,搜出一堆重复的信息,而且广告也多。作为程序员,建议你使用谷歌搜索。
其实,你在编程中所遇到的几乎所有的问题和 bug ,别人也同样遇到过,因为不管是经验丰富的老程序员,他技术再牛逼,也是初学者过来的,也都踩过你踩的坑。所以,互联网是个好地方,里面包含了你想要的问题的答案。
你只要把报错信息往搜索引擎上一放,回车一下,很多关于这个 bug 的答案就出来很多,你只需要找到跟你一样的 bug ,就能找到答案了。
在这里必须提一下这个网站,所有的程序员有必要学会使用这个网站,其实,你编程中所遇到的问题,这个网站上几乎都是由解答的。
Stack Overflow 可以说是最好的软件程序类问答网站了,给软件开发人员工作和学习提供了非常大的便利,以至于像小白,离了 Stack Overflow 简直都不会写程序了。
所以,建议大家一定要学会使用这个网站,对你编程肯定会有非常大的帮助的。
通过上面的方法,几乎应该能够解决到你所遇到的问题,但是,实在找不到答案的话,你可以问经验比你丰富的老程序员,实在解决不了,那就换种方法吧!
百度,谷歌,debug,断点调试,业务上的bug就需要问下同事或者产品。如果能知道大致范围,哪一部分错了,就换一种方法呗,一般都不会只有一种方法。
1.reload
2.restart
3.rewrite and then goto 2 or 4
4.reboot
5.rm -rf /
6.原谅我编不下去了[捂脸][捂脸][捂脸][捂脸][捂脸][捂脸][捂脸]
找bug跟医生看病的思路是一样的,要对症下药。得先把问题的根源找到,找到根源以后问题就容易处理了。搜索引擎找不到的问题,说明这个问题不是一个常见的问题,具有独特性,那么从bug出现的路径上一步一步去排查。必要时可以用排除法,尽可能的缩小排查范围。另外,当软件的业务逻辑比较繁多复杂的时候,一个结构清晰的架构能为你节省不少找bug的时间。还有,充分的单元测试能够帮你减少出bug的机会。以上均为个人看法,欢迎讨论!
一般程序员能碰到的bug无外乎其他上游程序员写库时手抖留下些不匹配或者容易溢出的问题,搜一下差不多能解决问题。如果是自己写的,那无非就是时序错误类型错误之类的,用break point一行行的调就好了。
再复杂点的bug就是程序员拿高薪的根本了,只可意会,不可言传~
仅仅靠搜索引擎、其他网站那必然无法解决大量问题,因为很多问题是跟业务逻辑相关的,是没有直接答案的。比如 游戏 开发有个界面一直无法显示,这个问题就不是百度可以解决的。问题需要调试分析,这和破案非常像,但在开发过程中更有利的是问题有机会可以重现。破案是逆向工程,需要反推。解决代码问题不仅仅可以反推,也可以通过阅读代码正向分析。下面说说如何debug一个业务逻辑问题。回到刚刚的例子,有个界面一直出不来,我们如何快速去定位:
1.思考这个问题发生的可能性。比如 游戏 内大量界面都是正常的,那么可以对比正常界面代码和异常界面代码的区别,这是对比法。
2.假设创建正常界面和这个异常界面的逻辑代码是一样的,那么问题就落到了这两个界面内部,继续在内部重复上面的对比法进行判断,直到锁定最终位置。
上面说的方法基本上可以杜绝卡在一个简单问题上,这是摆脱新手的一个过程。选择使用对比法或者其他方法的前提都是基于观察和对项目的认识,所以,搜集“案发现场”是最关键的。
其他的问题,不属于逻辑的,像其他网友说的那样,有些通过到github、stackoverflow等地方解决的。这些问题也不是直接就去查找的,它通常也有个分析过程。比如你使用了一个库,但是目前它不支持你的模块。对于新手,就是直接百度或者google了。实际上这样的问题也是有“案发现场”的。对于作者提供的api接口的统一性和便捷程度去推断作者在相关支持模块的位置以及命名以及拓展,再尝试在文件夹中搜索。如果都找不到,再去Google上获取更多的信息。重复推断、分析,决定如何拓展或者绕过。
综合上面的几种问题,可以看到的是都离不开对现场的观察和推理分析。这种能力也被称为经验。但是一般情况下你看不到它们这个分析过程,你能做的就是在实际环境中反复逼迫自己去思考,去训练。这个推理的培养,不仅仅是对事情,也是对人。
我在入行 游戏 开发的前期,也是类似的情况。卡在不同种类的问题上,有些在简单逻辑,有些在别人的代码支持上。后面解决的问题多了,就会发现里面共通的思维方式。常用的一些方法如下:
1.对比法,比较正常与异常代码区别
2.二分查找法。分段注释找问题,也会用在很多方面。比如最近版本突然出了一个奇怪bug,可以通过svn还原来定位。这个还原不是一个一个版本还原,而是用二分法去还原。
3.增加信息。在怀疑的位置或者过程添加日志或者打断点辅助自己更好的推理。
4.相似推理。比如一个引擎在api、性能使用程度上都非常友好,那么它在别的地方也有可能相对表现比较好。这时候如果有个功能我们的实现需要很复杂才能完成,那么就有可能是我们用错了。相似推理不一定都能正确,但会提供一些帮助。
以上。
1. 电脑经常显示程序错误explorer.exe出错的几种灶戚宏可能原因: 1.系统资源不足。
如果机器配置低的话建议不要同时开启太多应用程序。另外可适当加大虚拟内存,特别是经常玩大型游戏。
这种情况下升级机器是最根本的解决办法呵呵。 2.系统文件损坏。
检查explorer.exe的文件大小,正常情况下应该显示为237k或者238k,如果大小不一致,可运行sfc/scannow扫描系统文件。若explorer.exe程序本身损坏,可以从别的机器上拷贝一个explorer.exe文件到本机,调用任务管理器,接入explorer.exe进程,然后新建任务拷贝新的文件到系统盘\WINNT(2000)或\WINDOWS(XP)目录下。
3.软件冲突(特别是右键第三方加载项)。譬如输入法,清华紫光输入法3.0版本有的时候会出现explorer.exe出错,取消清华紫光输入法,用其他输入法输入会没有问题。
清华紫光输入法4.0版本未发现类似问题。苹果美化版的rar惹的祸,把它卸载了暂时就没有这个错误了,你也可以看是不是安装了苹果美化版的rar,有的话,也可以卸载了来看一下。
装了酒精120%或者酒精52%虚拟光驱,在番茄的系统中很容易出现explorer.exe错误。卸载有时候会解决问题。
4.病毒。(wc98pp.dll) 网络协议处理器-电子书编译工具Webpiler相关。
wc98pp.dll文件本身并没有影响,很多计算机上都有此文件,但是当explorer.exe出错的时候,删除此文件可以解决问题,然后从注册表中搜索相关键值删除。 usign.dll,有人提到这个文件与wc98pp.dll两个文件类似,删除这两个文件可以清除IE中不断跳出小广告。
在公司的计算机中未发现此文件。 5.windows升级造成的 大家都知道我们用的是盗版xp,既然是盗版的,肯定会出现各种各样的错误.微软也不是 *** ,肯定会搞一些问题来惩罚我们,所以建议大家不要上网自动更新,并且把自动更新关掉(实际上这个更新没p用) 6.系统内核错误。
此类情况暂时无法解决,重新安装系统。 7.内存问题。
有人通过更换内存,解决了这个问题,所以这应该是个原因,不过如果这个出问题就比较麻烦了,所以先考虑前面几个原因。 8.其他原因。
计算机运行某个程序等待时间过长,比如读取数据,尤其是光盘或者外界设备的数据的仔斗时候,也会出现explorer.exe出错。 exeplorer.exe是系统的外壳。
这个文件因为开机就被加载到内寸中。所以这个文件通隐册常不会损坏。
发生错误是因为注册表的中与exeplorer关联的项发生异常。原因很多,不好查找。
所以一般只有重新安装系统。如果嫌麻烦,使用启动盘启动系统,在恢复控制台中修复。
解决方法 1.第三方加载项的问题 我以一般的途径从遇到explorer错误的人们得到信息。通常他们都这么叙述:"当我在资源管理器中右键点击一个文件时系统提示explorer遇到错误需要关闭"或"当我尝试浏览文件夹的时候,我收到系统提示explorer遇到错误需要关闭"。
通常,这些错误是由于第三方加载项没有正常工作所引起的。这些加载项负责创建一些选项当你在资源管理器右键点击一个文件时。
一些第三方程序会添加他们自己的选项到这些菜单,而这有些时候会出现问题。如果你仔细看你会发现几个非常规的选项在这个右键菜单上:"SendtoFaxRecipient","ScanwithNortonAntivirus","TextPad"和"Winzip"。
如果想尝试寻找引起explorer错误的第三方加载项,你需要下载这个工具:ShellExView,它会允许你查看和禁用加载项。 解决办法:当你下载并运行它以后,ShellExView会显示出所有的安装在你的电脑上的加载项。
你可以分类排序使所有第三方加载项示在一起。然后,选择所有第三方加载项并禁用它们,并试着执行以前导致错误的 *** 作(比如右键点击一个文件或浏览一个文件夹等等)如果没有错误提示,就说明你所禁用的一个加载项造成了explorer错误。
接下来,通过每一次启用一个加载项并尝试之前引起错误的 *** 作就可以找出引起错误的第三方扩展了ShellExView会显示出加载项的所有的额外信息,比如版本号、公司名称。如果你希望继续使用致使explorer出错的加载项,请检查他的更新版本或联系他的客户支持explorer出错的另一个原因是因为机器里内含病毒、木马或间谍广告程序。
想检测电脑里存在的病毒请使用专业的程序,比如江民、瑞星等杀毒软件;检测电脑里存在的间谍软件,我推荐下列程序:MicrosoftWindowsAntiSpyware(Beta)、Lavasoft'sAd-Aware、RoseCitySoftware'sSpywareMedic或者Spybot'sSearch&Distroy。 2.一些关于此问题的中文知识库文章 在“地址”框或“打开”框中键入地址时出现错误消息。
桌面是白色的并且错误信息报告Browseui.dll中有“Windows资源管理器”错误信息:ExplorerCausedanInvalidPageFaultinModuleBrowseui.dll(资源管理器导致模块Browseui.dll中出现无效页面错误) 错误信息:ErrorLoadingExplorer.exeYouMustReinstallWindows(加载Explorer.exe时出现错误,必须重新安装Windows) 查看“我的电脑”中的内容时Windows资源管理器退出在试图映射网络驱动器时Windows资源管理器退出并生成错误信息尝试安装Windows2000ServicePack3时出现错误信息“Explorer.exeHasGeneratedErrorsandWillBeClosedByWindows。
2. 电脑开机后,屏幕出现许多应用程序错误
计算机系统中运行一些容量较大的程序或者游戏时,系统常常会自动d出“xx内存不能为 read或written”的错误提示,遇到这种故障信息时,我们该如何才能将它有效排除,同时确保下次运行容量较大的程序或者游戏时,系统不会再次出现系统内存读写错误呢?事实上,当我们不幸遭遇上面的故障信息时,我们可以尝试按照如下步骤进行依次排查: 移除无效插件程序 在上网冲浪的过程中,许多插件程序会偷偷地安装到计算机系统中,而不少插件程序往往都有防删除的功能,因此这些插件很容易与其他的应用程序发生冲突,从而间接地引起系统内存读写错误的现象。
为了给那些大容量的应用程序或游戏提供一个干净、稳定的工作环境,我们最好定期使用类似360安全卫士这样的程序,来查看系统是否被偷偷安装了各种无效的垃圾插件程序,一旦发现的话,那可以直接将它们从系统中及时卸载干净。 手工修复系统服务 与系统内存读写 *** 作有关的Windows Management Instrumentation服务要是发生错误的话,也会导致系统d出内存读写错误的提示,所以当我们遇到这种错误现象时,可以尝试手工修复一下 Windows Management Instrumentation服务,下面就是具体的修复步骤: 首先用鼠标右键单击系统桌面中的“我的电脑”图标,从d出的快捷菜单中执行“管理”命令,打开本地系统的计算机管理窗口,在该窗口的左侧显示区域,依次展开“服务和应用程序”/ “服务”选项,在对应“服务”选项所在的右侧显示区域中,找到Windows Management Instrumentation服务,并用鼠标右键单击该服务选项,从d出的快捷菜单中执行“属性”命令,打开如图所示的服务属性设置界面; 其次在该设置界面的“常规”标签页面中,单击“停止”按钮,将Windows Management Instrumentation服务暂时停止运行。
之后,打开计算机系统的资源管理器窗口,在该窗口中依次展开“Windows”、“ssystem32”、“wbem”、“repository”文件夹,然后将“repository”文件夹窗口中的所有文件进行一下备份,备份完成后将该文件夹中的所有内容全部清除掉; 接下来,重新启动一下计算机系统,待系统启动成功后,按前面 *** 作打开Windows Management Instrumentation服务的属性设置界面,单击该界面中的“启动”按钮,相信这么一来Windows Management Instrumentation服务就能正常运行了。 修复系统损坏文件 如果计算机系统不小心感染了病毒或者发生了误删除 *** 作,那么与系统内存读写 *** 作有关的系统文件很可能受到损坏,而这些系统文件一旦受到损坏的话,那么我们就很容易遭遇内存读写故障提示了。
所以,我们一旦碰到内存读写错误的提示时,不妨按照如下步骤修复一下系统,看看系统是否存在损坏的文件: 首先使用最新版本的杀毒软件,来对计算机系统进行彻底地病毒查杀 *** 作,因为计算机系统一旦感染了病毒而不进行清除的话,我们即使修复了系统文件,病毒仍然有可能会继续破坏系统文件,所以及时使用杀毒软件来将计算机中的病毒全部清除干净,可以确保系统文件不会继续受到病毒的威胁。 其次使用系统自带的“sfc”命令,来尝试将受到损坏的系统文件修复到正常状态。
在修复受损系统文件时,只要依次单击“开始”/“运行”命令,在d出的系统运行对话框中,输入字符串命令“sfc /scannow”,单击回车键后,该命令程序就会对系统每个角落处的系统文件进行搜索扫描,一旦发现系统文件的版本不正确或者系统文件已经损坏的话,它就能自动d出提示界面,要求我们插入Windows系统的安装光盘,以便从中提取正常的系统文件来替代不正常的系统文件,从而达到修复系统文件的目的。要是系统修复 *** 作成功的话,相信我们重新启动计算机系统时,就不会看到有什么不正常的现象了。
及时释放系统内存 我们知道,在运行一些容量较大的程序或者游戏时,需要消耗相当的系统内存资源,要是此时内存空间不够时,那么系统内存读写错误的故障提示很有可能就会发生。为了有效避免这种错误提示,我们最好在运行容量较大的程序或者游戏之前,应该先将计算机系统重新启动一下,这样能够将系统内存空间充分释放出来;如果计算机内存空间本身就比较小的话,那么我们建议各位最好及时升级内存,以便拓展内存的有效使用空间,以防止由于系统内存不足而造成系统内存读写错误的发生。
当然,在系统自身内存空间不足的情况下,我们应该先将那些随机启动的杀毒软件以及相关即时监控的程序暂时关闭掉,之后再尝试运行容量较大的应用程序或者网络游戏,因为杀毒软件及相关监控程序会在一定程度上消耗一些系统内存资源,将它们关闭可以节省不小的内存空间,从而能够有效避免内存读写错误现象的发生。当然,值得注意的是,我们在运行完大容量的程序或游戏之后,还必须记得及时将相关程序的监控功能全部打开。
3. 为什么我的电脑出现显示屏应用程序错误,然后异常关机
一般引起系统不定期重启和关机的故障主要有下面几个原因:
一.首先我们要处理掉一个可能性到"我的电脑按"右键-->;属性-->;高级-->;按下"启动及修复"-->;把下面"系
统失败"那框框的三个选项取消勾选.当把这三个选择取消后.能解决大部分人的问题哦.
二.如果自动关机.并出现对话框的话.极有可能是病毒.解决办法:杀毒.
三.WINDOWS启动程序出错,果WINDOWS在默认状态下启动时有某个程序运行出现错误,系统会重新启动,新加
载出现错误的程序,果启动项内有某个程序的错误比较严重,系统就会不断反复启动。解决办法:在系统启
动时按F8,进入安全模式,在控制面板--系统--高级里选取“启动和故障恢复”,最后将“系统失败”栏目
下的“自动重新启动”的勾勾去掉.
四.用光驱或者软驱就死机或者重启.更或者是多挂了一个硬盘后就常常断电.那可能电源有问题.解决方法
:更换电源.
五.现在主板一般都有温度保护控制芯片,防止CPU过热烧毁。有时BIOS内的CPU预警温度设置太低,CPU满
负荷运行时温度超过预警温度,系统会自动关闭。当然因机箱散热不好引起CPU温度太高无法稳定运行也
会引起系统重启.解决办法:在BIOS里将保护温度调至比较适当的温度,加强系统散热.
六.看某种特定的片子会死机.重启后没事.十有八九是显卡驱动的问题.解决办法:下载最稳定的驱动版本.
七.运行大型3D游戏或系统进程较多时容易经常引起系统自启,种情况相当普遍.多系统都采用双通道,如
果两条内存的品质和性能差异较大或本身内存条的电气稳定性满足不了双通道的要求,可能造成系统运行
不稳定,当运行较大程序时经常出现故障重启.解决办法:在BIOS内尝试将内存的CL值调高一些,比如2.5
的调成3,通道的可适当调低系统的总线速度看看,如果这招不灵多半是要换内存了.
4. 电脑桌面老出现应用程序错误怎么回事啊
系统无法正常运行,提示程序程序错误,一般是因为软件或硬件故障导致的,原因很多且很复杂,有可能是系统文件损坏,也可能是病毒感染,也可能是后台自启动程序过多或安全软件安装有多个造成系统假死,也可能是内存、硬盘或主板出现问题。
建议:按从易到难、先软件后硬件的原则逐一排查。
1.重启电脑,如果能够正常进入系统,说明上次不正常只是偶尔的程序或系统运行错误,无关紧要。
2.如果频繁无法正常进入系统,则开机后马上按F8,看能否进入安全模式或最后一次配置正确模式,如能则进入后退出,再重启就应当能进入正常模式。如有安全软件,可在安全模式下使用360安全卫士加360杀毒或者金山毒霸等等其它安全软件进行全盘木马、病毒查杀。
3.如果不能,重启后按F11,看有没有一键GHOST,有则一键还原(以前要进行过一键备份)。
4.如果没有一键还原,则使用系统U盘重装系统。插入U盘后开机连按DEL键(笔记本一般为F2或根据屏幕底行提示字符)进入CMOS,进入BOOT选项卡设置USB磁盘为第一启动项。重启进入U盘启动菜单,选择克隆安装,再按提示 *** 作即可。
系统U盘制作及重装系统的 *** 作步骤为:
1).制作启动U盘:到实体店买个4-8G的U盘(可以要求老板帮你制作成系统U盘即可省略以下步骤),上网搜索下载老毛桃或大白菜等等启动U盘制作工具,将U盘插入电脑运行此软件制作成启动U盘。
2).复制系统文件:上网到系统之家网站下载WINXP或WIN7等 *** 作系统的GHO文件,复制到U盘或启动工具指定的U盘文件夹下。
3).设置U盘为第一启动磁盘:开机按DEL键(笔记本一般为F2或其它)进入BIOS设置界面,进入BOOT选项卡设置USB磁盘为第一启动项(注:部分电脑需要在此时插入U盘进行识别才能设置)。
4).U盘启动并重装系统:插入U盘启动电脑,进入U盘启动界面按提示利用下载来的GHO文件进行克隆安装。
5.如果有系统光盘(没有也可以去电脑商店以5-10元购买),则将系统光盘插入光驱,开机后按DEL键(笔记本一般为F2或根据屏幕底行提示字符)进入CMOS,并在BOOT选项卡中设置光驱(CD-ROM或DVD-ROM)为第一启动项。重启进入光盘启动菜单,选择将系统安装到C区,再按提示 *** 作即可。
6、如果以上 *** 作均无效,则需要逐一替换检查内存、主板、硬盘等等硬件,以确定故障源。
5. 我的电脑经常提示应用程序错误我的电脑经常屏幕提示应用程序错误:
内存出错的原因 使用Windows *** 作系统的人有时会遇到这样的错误信息:“0X????????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。
如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。 其实,这个错误并不一定是Windows不稳定造成的。
本文就来简单分析这种错误的常见原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用 *** 作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。
这就是“动态内存分配”,内存地址也就是编程中的“指针”。 内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。 作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。
若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。 真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。
在没有保护机制的 *** 作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的 *** 作系统中,如Windows等,这个 *** 作会马上被系统的保护机制捕获,其结果就是由 *** 作系统强行关闭出错的应用程序,以防止其错误扩大。 这时候,就会出现上述的“写内存”错误,并指出被引用的内存地址为“0x00000000”。
内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于 *** 作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。
二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向 *** 作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。
注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写 *** 作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是 *** 作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊! 像这样的情况都属于程序自身的BUG,你往往可在特定的 *** 作顺序下重现错误。
无效指针不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其他随机数字。 如果系统经常有所提到的错误提示,下面的建议可能会有帮助: 1。
查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致 *** 作系统异常。
平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2。
更新 *** 作系统,让 *** 作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候 *** 作系统本身也会有BUG,要注意安装官方发行的升级程序。
3。试用新版本的应用程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)