<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

文章分类

导航

订阅

学习软件调试原理的意义

曾经一度我面试应聘者的一个问题就是调试断点的工作原理,令我非常遗憾的是,无论是刚毕业的本科生或研究生,还是有多年工作经验的老程序员,都未能给我一个满意的答案。

当我与一些朋友聊起这个话题时,我遇到一种说法,令我深思。这种说法是我知道这个有什么意义呢?

是啊,现今是个知识爆炸的年代,新技术、新理念层出不穷,我们必须有选选择,目标明确的取舍自己的学习和努力方向。

但是,在这个前提下,我仍然认为调试原理是每个程序员的一门必修课。这不是我的一家之言,很多资深的行业专家,他们也在各种场合发表过类似的观点。

今年来,我们已经开始越来越重视软件测试,探索软件测试的新方法,提高软件测试的效率。但是软件调试却常常被忽略了。

有人做过调查,80%以上的程序员是把一半以上的时间用在程序调试上的。很多项目的延期以及程序员的加班也与要调试某个/些棘手的BUG息息相关。

学习调试原理是提高调试效率的根本途径。试想如果我们不了解调试工具的工作机制,那么怎么可能最大限度的发挥它的功能呢。如果我们根本没听说过硬件断点,那么我们怎么能利用它解决普通断点无法完成的任务呢?

随着软件向大型化和复杂化方向发展,软件调试的难度也在不断增大。对于一些小的软件,我们可以不讲究什么方法,单步跟踪从头至尾也不需要太多时间。但是如果是要调试一个大的系统,不讲究必要的技巧就很难行的通了。

因此本人强烈建议大家提高对软件调试技术的重视程度,有计划,有意识的学习一些基本的软件调试原理。

也欢迎大家发表不同意见。

posted on 2005年10月13日 22:49 由 dbg

# re: 学习软件调试原理的意义 @ 2007年5月29日 18:39

这方面的书不多阿!

mingjunzhang

# re: 学习软件调试原理的意义 @ 2007年7月17日 19:28

是啊,所以我觉的汇编还是很重要的,不过现在会用的人很少了,学JAVA,.NET的人太多了,一般的都是源码级调试,出错了调试都是汇编代码,都不会了

llx571030

Powered by Community Server Powered by CnForums.Net