寻找错误通常需要 97% 的“理解代码库的特定部分”和 3% 的“一旦正确理解就写几行来解决问题”。
当 bug 真的很难理解时,可能意味着要花一整天的时间查看代码、尝试一些实验、设置断点并单步执行代码以了解这个神秘的 bug。这一整天的工作将在 CVS 中被记住为代码库中的一个非常小的更改(包括简短的注释)以及“已修复的 #xxxx 问题,[某些组件] 做错了 [whatever]... ”作为提交消息。
因此,最终该错误不再存在,但唯一存储的有关它的信息将是 CVS 中的差异。潜伏在调试器中以便能够编写最终修复错误的代码行所花费的时间将永远消失。
我希望能够记录调试会话的一些关键指标/事件,例如:
- 我在其中设置断点的函数
- 输入数据我手动输入程序以重现问题
- 为测试某些行为而修改和恢复的代码
- 调用堆栈
- ...
将此“调试摘要”链接到提交注释将在以后处理相关错误时实现更快的上下文切换。
有没有一些工具可以做到这一点?
(这个问题与语言/IDE 无关......)