GDB主要可以做四种事情来帮助你找到bug:
1、启动你的程序,指定任意可以影响程序行为的参数。
2、让你的程序在指定的条件停住.
3、测试你的程序停止的时候发生了什么。
4、改变程序内部的变量,来改正程序的错误继续执行。
gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d dir] [prog [core|procID]]
gdb [options] --args prog [arguments]
gdbtui [options]
gdb调试命令:
break [file:]function
设置一个断点在函数中(在文件中)
run [arglist]
启动程序带上指定的参数
bt Backtrace:
显示堆栈
print expr
显示表达式的值
c
继续执行你的程序(程序停住后,例如:在断点处停止)
next
执行程序的下一行代码(程序停止以后);跨国任何当前行的函数调用。
edit [file:]function
查看当前程序停在哪。
list [file:]function
显示程序当前停住的代码行附近的代码
step 单步调试
执行程序的下一行(程序停住后),进入当前行的函数调用的内部
help [name]
显示gdb命令的相关信息。
quit
退出gdb
友情链接:
(1)linux gdb详解
https://www.jianshu.com/p/adcf474f5561
(2)gdb调试的基本使用
https://blog.csdn.net/zdy0_2004/article/details/80102076