是否有任何有关“一般”调试的理论或书籍?[关闭]


12

我阅读和学习了许多计算机科学和工程学,很少或从未见过有关调试的书或有关如何调试的理论(尽管我肯定开发了一些自己的调试理论)。

是否有任何调试理论和/或书籍?为什么/为什么不呢?我可以阅读如何使用gdb进行调试,以及通过阅读如何使用gdb获得的有关开发的一些最有用的信息。


1
你说debugging theory什么意思?它应该涵盖哪些主题?
superM 2012年

5
两篇论文,你会(可能)觉得有趣:调试计划和解释的理论算法程序调试
雅尼斯

是的,这就是所谓的问题解决:en.wikipedia.org/wiki/Problem_solving
AndreasScheinert 2012年

1
@SoboLAN我以为问问者想要的是调试背后的实际理论,而82/88并不是那么古老,核心概念是相同的……但是,是的,不是问题所在。
扬尼斯2012年

1
当今软件工程中的许多概念已经很老了,但是它们仍然可以很好地应用于当今的情况。别忘了,车轮是数百万年前开发的,但是我们每个人每天生活在驾驶2或4个轮胎时都没有问题,大声笑
user60812

Answers:


6

我从Pragmatic程序员那里阅读了Debug IT。正如几乎所有实用的程序员的书一样,它虽然动手却并不深入,但是很高兴能帮助我教会新的开发人员如何设置其“调试思路”。没有黑魔法,但是更常见的常识,对于经验丰富的程序员来说,几乎所有内容都看起来非常直观。


6

调试:为寻找即使是最难以捉摸的软件问题和硬件问题9条不可或缺的规则。我不记得它具有很高的深度或学术意义,但是它当然具有一些有趣的见解和故事。

这也是非常有用的,看到从硬件的角度调试-通常,调试硬件是比软件调试困难。本书的每一章都是根据作者的经验编写的“战争故事”。本章的其余部分介绍了他发现在特定情况下有用的技术。这些故事是硬件和软件开发的完美结合。

我当然发现以真实的故事开始每一章的方法很有启发性。


1
+1我有一本书的副本,我必须说,这本书的确写得很好。它的通用性在于您可以使用作者建议的规则来调试任何东西:软件故障,硬件问题,厕所问题,任何真正的问题:)
Jason Evans

1
这是一本很好的书。我从中获得的最佳见解之一是不仅解决问题,然后撤回修复程序以确认没有该问题仍然会发生的想法。在尝试了十种方法来解决问题之后,最后,如果忽略此步骤,您可能不知道哪一个才是真正的解决方法。
Kyralessa

1

孔雀皇挤压是由使用测试和重构用于调试肯特贝克中描述的技术:

命中率高,命中率低

回归测试和Saff压缩

三河研究所肯特·贝克

摘要:为了有效地隔离缺陷,请从系统级测试开始,逐步进行内联和修剪,直到您拥有最小的可以证明缺陷的测试为止。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.