00. 前言
程序的发布方式有两种,debug模式和release模式
Linux gcc/g++出来的二进制程序,默认是release模式
要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项
例:
gcc hello.c -o hello -g
01. 开始使用
gdb hello : 启动gdb
q或quit : 退出gdb
listl行或号:显示binFile源代码,接着上次的位置往下列,
每次列10行。
...............................................
list或l函数名:列出某个函数的源代码。
...............................................
r或run:运行程序。
...............................................
n或next:逐过程。
...............................................
s或step:逐语句
...............................................
break或b 行号:在某一行设置断点
...............................................
break 函数名:在某个函数开头设置断点
\...............................................
info break或info b :查看断点信息。
...............................................
finish:执行到当前函数返回,然后挺下来等待命令
...............................................
print(p):打印表达式的值,通过表达式可以修改变量的值或者
调用函数
...............................................
p 变量:打印变量值。
...............................................
set var:修改变量的值
...............................................
continue(或c):从当前位置开始连续而非单步执行程序
...............................................
run(或r):从开始连续而非单步执行程序
...............................................
delete breakpoints:删除所有断点
...............................................
delete breakpoints n:删除序号为n的断点
...............................................
disable breakpoints:禁用断点
...............................................
enable breakpoints:启用断点
...............................................
info(或i) breakpoints:参看当前设置了哪些断点
...............................................
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
...............................................
undisplay:取消对先前设置的那些变量的跟踪
...............................................
until X行号:跳至X行
...............................................
breaktrace(或bt):查看各级函数调用及参数
...............................................
info(i) locals:查看当前栈帧局部变量的值
.
.
.
感觉有所收获的话,友友们给小丁一个赞👍。