• 生活小妙招免费各类生活中的小问题知识以及音乐简谱等,是你了解世界未知知识的好地方。

你初学编程的时候是怎么提高自己的Debug能力的?

十万个为什么 空空 2024-4-29 01:49:49 7次浏览

关于问题你初学编程的时候是怎么提高自己的 Debug 能力的?一共有 2 位热心网友为你解答:

【1】、来自网友【程序员—成长之路】的最佳回答:

作为一名 IT 行业的从业人员,也是一名老程序员。现在主要在从事产品研发及项目管理工作,所以我来探讨一下这个问题。

什么是 Bug

Bug 一词的英文翻译为“臭虫子”或“虫子”。但是现在,我们认为是在电脑系统或者程序中,隐藏着一些未被发现的缺陷或漏洞问题,称之为 Bug。

什么是 Debug

Debug 是排除故障、排除问题的意思。

怎么提高自己的 Debug 能力的?

首先,良好的编码习惯和逻辑思维能力,对 Bug 有预见判断的能力。

作为程序员,应该有一个良好的编程习惯,不仅需要有良好的编码格式、命名规范,更为需要的是对于业务逻辑,实现时有良好的架构结构、数据结构、业务结构、程序安全等等方面的考虑。

其次,问题错误定位能力。

对于已发生的问题或 bug 进行分析、日志分析、业务逻辑分析、数据分析等等,对问题或 bug 进行初步定位。问题初步定位之后,在相关的程序节点进行输出或日志处理,不断的对问题进行跟踪和处理。

最后,对发生的 Bug 有感知能力。

当一个 Bug 出现的时候,优秀的程序员能根据 Bug 发生的前提和 Bug 发生的时间点、程序中的位置,很好的感知到 Bug 可能发生在哪一个函数或者哪几个函数中。

这些方法做着做着就习惯了或“不断能成功解决出现的问题或 bug”,谈不上坚持,最终成了喜欢的自己。

【2】、来自网友【海漂活化石】的最佳回答:

Debug 的十八重境界:

第一重:Debug 应用程序,需要源代码,依赖集成开发环境(IDE)下断点来调试。

第二重:Debug 应用程序,需要源代码,只需要调试器下断点,即可调试。

第三重:Debug 应用程序,需要源代码,不需要调试器,打 Trace 来调试。

第四重:Debug 应用程序,只用肉眼浏览源代码,便可定位 Bug、并做修复。

第五重:Debug 应用程序,不需要源代码,但是需要崩溃转储文件,依赖调试器来调试。

第六重:Debug 应用程序,不需要源代码,不需要转储文件,不需要调试器,只通过问题症状,便可定位 Bug。

第七重:在第六重的基础上,开发热补丁。

第八重:Debug 内核态程序,需要源代码,打 Trace 来调试。

第九重:Debug 内核态程序,需要源代码,使用调试器来调试。

第十重:Debug 内核态程序,用肉眼浏览源代码,便可定位 Bug、并做修复。

第十一重:Debug 内核态程序,不需要源代码,但是需要崩溃转储文件,依赖调试器来调试。

第十二重:Debug 内核态程序,不需要源代码,不需要转储文件,不需要调试器,只通过问题症状,便可定位 Bug。

第十三重:Debug BIOS/Bootload 程序,需要源代码,利用超级终端来打 Trace 调试。

第十四重:Debug BIOS/Bootload 程序,需要源代码,使用 JTAG+超级终端或者 MultiICE 来调试。

第十五重:Debug BIOS/Bootload 程序,需要源代码,只用肉眼浏览源代码,便可定位 Bug、并做修复。

第十六重:Debug BIOS/Bootload 程序,不需要源代码,使用 JTAG+超级终端或者 MultiICE 来调试。

第十七重:使用逆向分析工具,进行逆向工程,定位 Bug,并作补丁修复

第十八重:自行开发逆向分析工具,定位 Bug,并作补丁修复

自行对照,看看达到第几重境界。

此外在前七重,根据鄙视链,还分成好几级:

COM+/DCOM 组件调试 > COM 组件调试 > EJB 调试 > 云原生调试 > DLL/.a 调试 > 桌面可执行程序调试 > Web 调试 ……

喜欢 (0)