gdb
- 1. gdb简介
- 2.基本命令
- 2.1 进入/退出
- 2.2 基本使用
- 2.3 执行语句
- 2.4 查看变量
- 2.5 禁用/启用断点
1. gdb简介
gdb是Linux下的代码调试工具。
程序的发布有debug模式和release模式,Linux的gcc/g++模式,默认是release模式。若想在Linux下调试,程序必须为debug模式。使用:
- gcc/g++ -o text text.c -g
- 加上-g选项就变为debug模式。
可以使用查看是否为debug版本:
- readelf -S text_debug | grep -i debug
2.基本命令
gdb会记录最近一条命令,如果按回车就执行最近的命令。
2.1 进入/退出
- gdb 文件名:打开调试文件。
- q:退出gdb
2.2 基本使用
- list/l 行号 :显示文件代码,从num行开始显示,每次显示10行。
- run/r :运行程序,相当于VS2019的F5。
- break/b 行号:在某行设置断点。
- d n(断点序号):删除序号为n的断点。
- info b:查看断点信息。
2.3 执行语句
- n/next :单条执行,逐过程(F10)
- s/step:进入函数调用(F11)
- finsh:将当前函数跑完就停下来/快速跑完当前函数。
- until X行号:跳转到第X行,不建议从一个函数跳到另一个函数,在一个函数内用。
- c :运行至下一个断点结束。
2.4 查看变量
- p 变量:打印变量值
- display 变量名:设置该变量常显示
- undisplay n:取消对序号为n的常显示。
- bt :查看调用堆栈
2.5 禁用/启用断点
- disable X断点:禁用序号为X的断点。
- enable X断点:启用序号为X断点。