一、安装gdb
yum -y install gdb
二、常用命令
命令 | 简写 | 命令说明 |
set args | 设置程序运行的参数。 例如:./demo 张三 西施 我是一只傻傻鸟 设置参数的方法是: set args 张三 西施 我是一只傻傻鸟 | |
break | b | 设置断点,b 20 表示在第20行设置断点,可以设置多个断点。 |
run | r | 开始运行程序, 程序运行到断点的位置会停下来,如果没有遇到断点,程序一直运行下去。 |
next | n | 执行当前行语句,如果该语句为函数调用,不会进入函数内部。 VS的F10 |
step | s | 执行当前行语句,如果该语句为函数调用,则进入函数内部。VS的F11 注意了,如果函数是库函数或第三方提供的函数,用s也是进不去的,因为没有源代码,如果是自定义的函数,只要有源码就可以进去。 |
| p | 显示变量或表达式的值,如果p后面是表达式,会执行这个表达式。 |
continue | c | 继续运行程序,遇到下一个断点停止,如果没有遇到断点,程序将一直运行。 VS的F5 |
set var | 设置变量的值。 假设程序中定义了两个变量: int ii; char name[21]; set var ii=10 把ii的值设置为10; set var name="西施"。 | |
quit | q | 退出gdb。 |
如果希望程序可调试,编译时需要加-g选项,并且,不能使用-O的优化选项。
gdb 目标程序
(在gdb中,用上下光标可以选择执行过的gdb命令)