• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

linus关于调试器的看法

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网 认真地写好代码,而不是单纯的依靠调试器写粗糙的代码


作者:Linus

我不喜欢调试器,从来不,大概永远不会喜欢。我只使用GDB,而且我总是并不把它作为调试器
来使用,只是将其作为一个可以用来分析程序的分解器来使用。

任何关于内核调试器的意见、争论都没有触动我,哪怕是丝毫。相信我,这么多年来我收到很多这
方面的建议,到最后,他们都只能归结为很基础的(东西):

—— 开发应该变得更容易,我们能够更快的加入许多新的东西。

坦白地说,我并不在意(这个问题)。我认为对内核的开发不会是很容易的事。我不赞成那种通过
一个个代码逐步去寻找错误的做法。我认为系统的额外可见度并不是一件必要的好事。

很明显,如果你在没有使用一个内核调试器的情况下就附和这种观点:
—— 你会遇到一系列的问题:一旦出错,系统就会崩溃,你会失败;
—— Linux 内核编程太难太费时,人们会对其失去信心;
—— 创出新的特色需要一段很长的时间。

没有一个人能向我解释这些问题。

对我来说,这不是一个问题,这是它的特点。这不仅是已经有证明文件证明的,而且这是好事。因
此很明显这不是一个问题。

“创出新的特色需要一段很长的时间”——这一点在调试器方面尤为不是一个强有力的论据。对
Linux 来说,缺少特色或新代码不是一个问题,事实上,这对整个软件产业来说都是如此。相反,
我的主要工作就是对那些新的特色/特征说“不”,而不是去寻找它们。

的确,当(系统)崩溃,你甚至不能获得一丝线索,只有失败,那么只能得到两种结果:你要么小
心翼翼的重新开始;要么开始对内核调试器不断抱怨。

坦白的说,如果(工程进程中)出现粗心大意的情况,我宁愿摈弃那些在开始时就没有小心谨慎的
人。这听上去很无情,就算是上帝听上去也会感觉无情。但这并不是人们所认为的那种“如果你不
能承受压力,那就干脆离开”的情况。这里(所包含的意义)要更深一些。我宁可不和那些粗心大
意的人一起工作。这就是软件发展的进化论。

这样把人分成两种是一个冷酷、无情的观点。我宁愿选择第一种人,忍受他们。

我是一个比较自私的人。我完全不知道人们为什么要从不同方面进行考虑,但是他们确实是(那么
做的)。人们认为我是个好人,但事实上我是个诡计多端的自私鬼,只要最终能得到我所认为的更
好的系统,那么我对任何感情的伤害或工作时间的损失都不在乎。

我并不只是(在口头上)说说而已,我真的不是一个很好的人。我能面无表情地说“我不在乎”,
而且我确实不在乎。

我相信不使用内核调试器会迫使人们在一个不同的层次上考虑问题。我认为如果你不使用调试器,
你就不能得知他如何运转以及你如何处理,你就试图从别的角度去考虑问题。你会想在不同的层次
上理解事情。

在一定程度上更多的是“源代码对二进制”(的问题)。你不必不得不去查看源代码(当然你可以去
查看,任何优良的调试器使其轻而易举)。你必须在源代码之上的层次进行查看。就是说,不使用
内核调试器的话,你将不得不去理解程序在做什么,而不仅仅是特定的(代码)行。

坦白的说,对于许多实际问题(这和错误截然不同的,那些愚蠢的错误是那么多)来说,调试器并
没有多大的作用。这些实际问题正是我所担心的。剩下的就是一些细节了,他们最终都会被确定下
来。

我能理解那些与我不一致的意见。我不是你们的母亲,如果你愿意的话你可以使用内核调试器,我
不会因为你自己的“毁誉”而轻视你。但是我不会去协助你使用他,我真诚希望人们不要高频率地
使用内核调试器。因此我不会将其作为评定的标准,如果现有的调试器没有被人们很好的了解,我
不会去(刻意)糟蹋贬低他。
因为我是一个比较自私的人,但是我以此为荣!
                                                                                      Linus

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网