首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有使用调试器的情况下有目的地进行调试?

在没有使用调试器的情况下有目的地进行调试?
EN

Stack Overflow用户
提问于 2009-10-09 14:50:21
回答 20查看 3.1K关注 0票数 12

第五章 of “编程实践” 布赖恩·克尼汉抢夺 派克中写:

作为个人选择,除了获得堆栈跟踪或一两个变量的值外,我们倾向于不使用调试器。

虽然我没有关于这个主题的经验数据,但我怀疑许多程序员可能在他们的环境中有一个调试器时“生活”在调试器中。但我也怀疑,有许多高效的程序员,如Kernighan和Pike,避免将调试器作为第一道防线,而是依赖其他技术。

所以,我想问一下堆栈溢出社区:

如果您是那种将称为“调试器”的工具视为最后手段的程序员(除了获得初始堆栈跟踪之外),您为什么首先使用其他技术?

一(1)的原因为每个答案更容易投票请!

我还将建议回答以下规则:--“我不知道如何使用调试器”--不是有效的答案。那只是无知。在做出选择之前,你应该了解你的选择!

EN

回答 20

Stack Overflow用户

发布于 2009-10-09 15:56:30

不通过代码对F10/F11使用调试器可以使您成为更好的开发人员。

在我的第一份工作中,我在Visual调试器不可用的Linux中做了很多编程。因为调试很难,所以我已经学会了如何分析我的代码并真正理解它是如何工作的。因此,我成为了一个更好的开发人员。

现在,我确实使用调试器后,我已经检查了代码,并搜索了“常见的嫌疑人”,如果我不知道我的代码如何工作而不调试它,然后我重构它。

票数 15
EN

Stack Overflow用户

发布于 2009-10-09 14:59:52

使用调试器作为最后手段的原因?

,因为通常情况下,通过使用比使用调试器.更快的其他技术,我可以更快地发现这个bug。

票数 10
EN

Stack Overflow用户

发布于 2009-10-09 15:10:42

我认为Kernighan是想强调专注的分析。在不了解森林的情况下,不要在树林中潜水。尽管如此,还有其他理由比调试器更喜欢不同的工具,作为您的思想助手。

我最喜欢的例子(如果这是正确的话)就是内存错误。在C或C++这样的语言中,误用内存系统(双删除、通过死指针访问对象、从数组末尾运行)可能会损坏程序,使问题在接近原始原因的任何地方都不会显现出来。

在这些语言中,适当的方法是使用消除这些错误的实践,但如果失败,工具也是有价值的。当我对类似bug的体验让我怀疑“这感觉像是一个内存错误”时,我会在想到“调试器”之前就开始使用缬磨

现在我们可以开始讨论自动内存工具和边界检查库是调试器了!;^)~

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1544289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档