1 安装
ubuntu安装gdb
sudo apt-get install cgdb
2 准备程序
编写c文件
vim test.c
#include <stdio.h>
main(){
printf("Hello World!\n");
}
编译c文件
将c文件编译为二进制文件
gcc test.c -o test -g
-g 表示将源代码信息编译到可执行文件,以便调试时使用
gcc test.c -o test.s -S
-S 表示将c代码编译为汇编代码
3 使用gdb调试程序
3.1 进入gdb命令行
gdb
进入gdb命令行,并载入test程序
gdb test
3.2 载入被调试程序
file test
3.2 执行
r
3.3 设置断点
在函数断点
b main
在函数断点,带模糊匹配
b main*
在行中断点
b 10
3.4 进入 step into
s
3.5 打印变量
p n
n是变量名
3.6 继续执行 contine
c
3.7 设置打印编译代码
display /i $pc
设置后,在下一次执行r时,就会打印汇编代码
3.8 汇编的step into
si
3.9 删除断点
d
3.10 打印寄存器的值
打印所与寄存器
i r
打印某个寄存器
i r 寄存器名
3.11 退出
q