Steve McConnel 所着的CODE COMPLETE:软件开发实务指南 中, 第 23 章提到一个科学化的除错方法,步骤如下:
我就以这套步骤当作基本原则来说明怎麽帮 ZK 应用程序除错。
这阶段目标是找到能产生该错误的明确、固定、最少步骤。
如果你的步骤不明确、不固定、或步骤很多,这代表似乎每个元件都可能造成问题,那问题范围就会牵涉太广,难以找到根因。如果能够除去一个步骤,仍然能够重现该错误,那就代表该步骤与错误无关,可以移除。因此经由反覆测试来减少步骤,就能缩小问题范围,可以让你接下来比较容易找到根因。
很多人会忽略服务器印出的 log 内容,但其实它常常明确的表示出问题的根因,如显示 exception stack trace,我们就可以根据呼叫的 stack 去找出错误发生的程序来推测出错误根因。
主流的桌上浏览器按 F12 都可以开启开发者工具,其中 Console 页会显示错误讯息,这通常也能帮助我们找到根因。 以下是 Chrome 中的开发者工具:
为了找到错误的根因,缩小问题的范围将会非常有帮助,因为问题牵涉的范围越大,潜在造成问题的因素就越多,必须耗费非常多时间一一检视这范围里的每个因素来找出根因,因此缩小问题范围可以增进除错的效率。你可用以下作法缩小问题:
>>: Android Studio初学笔记-Day24-FloatButton和SnackBar
能够完赛的人是鬼吧 本文会提到做 singular linked list 常犯错误、如何避免,与常...
移动设备安全政策是防止影子 IT 使用的最佳安全控制。用户教育可促进对安全政策和问题的普遍认识,但应...
Lambda在刚开始学Java一定会很不想碰,会觉得好不容易对Java有点熟悉了,结果又搞出一整陀新...
预处理器可以透过加快撰写程序的速度,但是自己的打字速度提升有限(换了Mac之後还变慢不少),Emme...
抽象类别 PHP也支援抽象类的和抽象方法,被定义为抽象类的方法不能被实体化,在任何一个类别中, 如果...