|
|
1
2
我认为你的答案不仅仅是关于你使用哪种软件,还有你使用什么方法。我使用Emacs,大部分调试都依赖于TDD。当我看到某些东西失败时,我通常会编写测试来填补我(显然)错过的空白,并以这种方式检查每个期望值。所以每次我使用调试器时都会有很大的不同。 当我遇到问题时,我有几种选择。在某些情况下,我首先使用valgrind,它可以立即告诉我是否有一些与内存相关的问题,从而消除了对调试器的需要。它将直接指向我重写或删除应该单独保留的内存的行。如果我怀疑一场比赛的情况下,瓦尔格林是相当不错的。 当我使用调试器时,我经常在emacs中通过GUD模式正确地使用它。它将给我一个堆栈视图,局部变量,源代码,断点和一个窗口,我可以命令调试器。它通常包括设置几个断点,观察一些内存或一些计算,以及逐步遍历代码。这很像在IDE中使用调试器。GDB调试器是一个强大的野兽,但我的问题从来没有大到需要调用它的功能。 |