1、启动:gdb 程序名 或者 gdb att xxx
set follow-fork-mode child
2、设置断点:break 或者 b,如break 文件名:行号
查看断点:info break
删除断点:delete 断点号
函数名加断点:b dhcp_RecvPktOptProc (直接函数名即可)
查看断点:
info b
去掉断点:
delete 断点编号
如delete 1
如delete 1-5
3、单步调试
继续运行到下一个断点:continue(简写c)
单步调试程序,当遇到函数调用时,也不进入此函数体, 直接调用函数,不会进入到函数体内:next(简写n)
单步调试程序,当遇到调用用户自定义的函数,将进入到函数体中去运行:step(简写s)
运行:r
退出:q
4、显示变量值
display 变量名 或者 p 变量名
变量太长没有显示完整时,可使用命令 set print elements 0,然后在查看变量值即可
5、查看源代码:list
list 行号
list 函数名
6、显示堆栈:bt
显示堆栈和局部变量:bt full
7、显示寄存器:info reg
8、如果程序已经运行,或者是调试陷入死循环而无法返回控制台进程,可以使用attach命令:gdb attach 进程id