我决定了解我们的C / C + * nix从业者如何使用gdb调试器。
以下是我通常使用的内容:
你如何使用它?
答案 0 :(得分:12)
除了已发布的内容之外,我还使用:
signal SIGNAL noprint nostop
查看调试时没有真正意义的自定义信号答案 1 :(得分:10)
脚本是一个不错的GDB功能。
运行程序后,您会看到在发生断点时偶尔执行脚本。
答案 2 :(得分:5)
我认为最有用的gdb命令(除了已列出的所有命令之外):
最后,如果通过慢速链接进行调试,则可能会使用文本UI。要使用它,请使用--tui
命令行开关启动gdb。
答案 3 :(得分:4)
gdb不是我的专长,但这是我使用的:
bt
列出一个堆栈up
,down
在堆栈中移动until
继续,直到达到数字大于当前数量的行 - 用于退出循环watch [expr]
在expr更改时中断程序...但主要是我使用ddd作为gdb的前端
答案 4 :(得分:3)
键入Ctrl-X Ctrl-A以打开包含源预览的简单窗口。
答案 5 :(得分:2)
答案 6 :(得分:1)
答案 7 :(得分:1)
还有一些与调试没有直接关联的用途。例如它 可用于C表达式评估:
(gdb) printf "%lu\n", (unsigned long)(-3L) 4294967293
答案 8 :(得分:0)
我使用gdb -tui
开关来创建一个出色的'文本用户界面'(文本模式中的一种gui)。它支持多个窗口,并且通常比使用'list'命令更友好(因为它在sep窗口中显示源)
答案 9 :(得分:0)
使用gdb的初学者会感觉很难。但是有基于GUI的工具DDD(数据显示调试器),它与gdb相同。你有一个控制台在底部运行gdb命令和顶部3/4部分将是代码。你可以选择学习和理解命令和流程