GDB
要想程序能够被gdb调试,那么用gcc编译时就要添加-g选项
gcc x.c -o x.out -g
gdb [选项] [可执行程序] -c core文件 指定core文件检查程序 -h 帮助 -n 忽略~/.gdbinit文件中指定的执行命令 -q 禁止显示介绍信息和版权信息 -s 文件 使用保存在指定文件中的符号表
启动gdb后:输入help命令可以得到帮助信息
命令 | 简写 | 作用 |
---|---|---|
file | f | 装入想要调试的可执行文件 |
cd | 改变当前目录 | |
pwd | 查看当前目录 | |
run | r | 执行当前被调试程序 |
kill | k | 停止正在调试的程序 |
list | l | 列出正在调试的程序的源代码 |
break | b | 设置断点 |
tbreak | tb | 设置临时断点。执行一次之后断点立即消失 |
watch | w | 设置监视点,监视表达式的值 |
awatch | aw | 设置读写监视点。当表达式被读或写时程序挂起 |
rwatch | rw | 设置读监视点。 |
next | n | 执行下一条源代码,但是不进入函数内部。 |
step | s | 执行下一条源代码,进入函数内部。 |
display | d | 在程序每次停止运行时显示表达式的值 |
info break | info b | 显示当前断点列表 |
info files | 显示调试文件的信息 | |
info func | info f | 显示所有函数名 |
info local | info l | 显示当前函数所有局部变量的信息 |
into prog | info p | 显示调试程序的执行状态 |
p | 显示表达式的值 | |
delete | d | 删除断点。指定断点号码则删除指定断点,否则删除所有断点 |
shell | 执行shell 命令 | |
make | 不退出gdb而重新编译生成可执行文件 | |
quit | q | 退出gdb |