与gdb有效合作

时间:2013-03-21 06:39:51

标签: debugging gdb

只要有可能,我通常会学习键盘快捷键。看到经验丰富的编码员有效地使用VI,真是太神奇了。 我一直在尝试用gdb切换到调试,而不是eclipse调试器(基于gdb) 而且我仍然觉得很难实际浏览代码,检查变量等。 实际上,我从未见过有经验的gdb用户,所以我在想......它值得吗?是否可以有效地使用gdb?

注意:我也尝试过cgdb,它是gdb的curses扩展。它更好,但我仍觉得它还不够有效......

3 个答案:

答案 0 :(得分:3)

GDB有一个curses接口,可以通过命令行选项-tui激活它。 该界面具有单键模式,通过单次击键即可实现最常见的操作。如果另外你使用自动命令执行,例如要显示变量值,当达到断点时,这就像它获得的那样舒适和快速。但是如果你仍然使用Eclipse,我认为避免gdb的Eclipse UI没有意义。

我在emacs中使用了GDB一段时间,但是发现在GDB和emacs之间传输信息的时间是不可接受的,所以我切换到了上面提到的这种TUI模式。我不知道,如果GDB和Eclipse之间的信息传输速度更快,但至少在GDB中复杂程序的启动时间可能比在Eclipse中更好。

答案 1 :(得分:0)

您也可以尝试使用ddd调试器:

http://www.gnu.org/software/ddd/

答案 2 :(得分:0)

虽然提供了赏金,但这个问题并未受到太多关注。 所以我决定为自己进一步调查这个问题。 最后,我偶然发现了一个我认为非常有效的解决方案。

它被称为tmux,它与gnu screen基本相似。 此工具允许将控制台拆分为多个窗格,每个窗格包含不同的进程。 因此,可以使用gdbemacs的单个窗口。 使用专用热键可以轻松切换窗口。