一、简介
之前是完成了写软件,从而实现软件的基本功能。到了今天,需要对自己写的可执行文件.exe找bug了。那么下面,我将结合自己的软件的使用过程中,讲自己的经验融入进来,解释下什么是bug、以及该怎么找Bug。
二、Bug的分类
主要参考:
https://blog.csdn.net/wybing/article/details/398120(将Bug的来源,很详细阐明了,看完这篇就够了)
★逻辑类:结构、算法等在程序高度运行下,相当于人脑思考东西吧,会出现紊乱。主要原因是架构、算法存在问题。
★移植类:移植别人的库等,会出现不兼容等问题。
三、排查Bug的方法(你可以看看麦肯锡系列书记,方便发现并分析 问题的本质)
我在麦肯锡系列书籍中,学习到了分析问题的本质。同理,其相关方法可以用在软件上,从而找出bug根源。目前,网上很多博客说的都是屁话,基本上没有提供很详细的介绍。这里我详细总结一番,说说如何如何找Bug。
方法1:断点——只能在非可执行文件.exe中,即在源代码工程中才使用。
方法2:写日志——在你的代码中,多添加一些日志。
方法3:事件查看器——应用程序——错误信息——常规,排查自己的应用程序,会定位到自己可执行KeenRay.exe项目中,文件夹SocketServer中,类SendProtocol中的方法SendProtocolFunc:
其中
.net runtime —— 表示.exe运行时用到的.net模块,发生了错误。
Applicaion Error——表示.exe运行错误
Windows Error Reporting——系统错误
四、总结
1、找Bug,就像做人一样,要做到细腻。项目或程序有bug,即使你觉得不是你的问题,也要和Team、特别是领导,善于交流,不要太武断。多虚心学习,多请教别人,你会发现,项目越庞大,Bug越复杂化,就越需要一个人的修养,才能解决问题。
2、先用方法3(找函数的位置),再用方法2(找该函数的某一行),最用用方法1来单步执行(找该行的变量)。可以完美地找到Bug出现在哪。