如何使用gdb达到与使用可视化调试器相同的效率水平?

时间:2011-06-14 13:29:02

标签: c++ debugging gdb

我知道这就像异端,但我无法看到在日常调试使用(不是高级转储和日志记录调试)中使用gdb比使用可视化调试器更有效率。

我来自.Net的背景(热爱环境讨厌心态),并且在过去的几年里转向了PHP& C ++。 我现在正在用C ++开发一个使用Eclipse的项目,并且讨厌编辑器有多重,所以我已经转移到了Textmate。 但是调试很不舒服。 我正在使用gdb,但错过了可视化调试,这非常简单有效。

然而,每个人都说 - 学会正确使用gdb! 所以我问 - 我如何正确使用gdb&有效?

6 个答案:

答案 0 :(得分:6)

您可以将gdb与 KDevelop 等IDE配合使用。它有一个视觉界面,所以有帮助 或者带有Emacs的GDB ,几乎所有花哨的图形化调试器都可以轻松完成。

只需添加,您可以查看this文章。它讲述了一些不错的技巧。

答案 1 :(得分:3)

你可以试试qt-creatror,它也有很好的GDB视觉界面。

答案 2 :(得分:2)

DDD怎么办?

答案 3 :(得分:1)

至于我,我总是使用gdb's TUI mode。来自gdb手册:

  

gdb文本用户界面(TUI)是一个   使用的终端接口   curses库来显示源代码   文件,程序集输出,程序   寄存器和gdb命令分开   文字窗口。 TUI模式是   仅在平台上支持   适合的curses库版本   是可用的。

它给gdb带来了一些可视调试,这对我来说已经足够了。我通常在常规命令行模式下启动gdb,观察回溯并在其中设置断点。当我想查看源代码时,我使用键绑定C-x C-a切换到TUI模式,然后切换回看例如回溯。这是gdb的内置即用型功能。您无需任何其他软件,如KDevelop或Emacs即可使用它。

答案 4 :(得分:0)

我使用netbeans for C ++。它与gdb集成,为您提供可视化调试。它不如Visual Studio好,但它很接近。它比Eclipse更清洁,更轻巧。虽然在Windows上设置所有内容并不容易。如果你需要,我可以提供一些指示

答案 5 :(得分:0)

也许gdb更有效率。它可以在调试时使用核心转储,以便重现诸如特殊死锁之类的错误。它还可以调试正在运行的进程。其他功能,如条件断点,以及最近开发的反向执行也使gdb脱颖而出。

免责声明:我不使用可视化调试器,我不确定他们是否支持上述内容。