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

Che*_*fif 20 c++ debugging gdb

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

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

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

Alo*_*ave 6

您可以将gdb与像KDevelop这样的IDE一起使用.它有一个可视界面,所以有帮助.
或者使用Emacs的GDB,几乎所有花哨的图形化调试器都可以轻松完成.

只是补充一下,你可以看一下这篇文章.它讲述了一些不错的技巧.


ks1*_*322 1

对于我来说,我一直使用gdb的TUI模式。来自 gdb 手册:

gdb 文本用户界面(TUI) 是一个终端界面,它使用curses 库在单独的文本窗口中显示源文件、汇编输出、程序寄存器和gdb 命令。TUI 模式仅在有合适版本的 curses 库可用的平台上受支持。

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