gdb流程如下:
1. 带着调试选项编译,构建调试对象。
2. 启动调试器。
2.1. 设置断点。
2.2.显示栈帧。
2.3.显示值。
2.4继续执行。
1. gcc一些选项
-g 调试信息
CFLAGS = -Wall -O2 -g
-Werror 告警当错误处理
2.启动
1)gdb进程名
2)gdb -c corename
然后file 进程名, file debug文件名
3)gdb -e 可执行名-c core文件-s debug文件
3. 设置断点
1)break 函数名
2)break 行号
3)break 文件名:行号
4)break文件名:函数名
5)break+偏移量
6)break-偏移量 (当前暂停位置)
7)break *地址
8)b 下一行设置断点。
info break可以查看哪些断点。
set args xxx
run 执行
bt显示栈帧 bt N/-N 显示开头/最后几个栈帧
print val显示变量
info reg显示寄存器的值
p $eax显示寄存器值。
网友评论