Linux gdb的基础操作
1. 介绍
GDB(GNU Debugger)是一个强大的开源调试器,用于在程序运行时诊断和解决 bug。它支持多种编程语言,包括C、C++、Fortran等,并且可以在多种操作系统上运行,包括Linux、macOS等。
2. 基础知识
安装GDB
sudo yum install gdb
输入管理员密码以确认安装。
启动GDB
在Linux中,gcc和g++默认生成的是Release版本,并且默认使用动态链接。
gdb需要在debug版本下才能调试。
当编译程序时使用了 -g 选项时,生成的是debug文件。
gcc -g my_program.c -o my_program
使用:
gdb my_program
进入调试
3. gdb基本命令
当使用GDB进行调试时,以下是一些基本命令及其缩写:
list指令
缩写:l+行数 显示特定行附近的代码。
回车继续显示下面程序段
run指令
缩写:r 启动程序遇到断点则停下来
break指令
缩写:b+行数 在指定位置设置断点。
info breakpoints指令
缩写: info b 查看已经设置了哪些断点
delete指令
缩写:d+编号 删除一个断点
continue指令
缩写: c 继续执行程序,直到下一个断点。
step指令
缩写:s 单步执行,进入函数内部。
next指令
缩写:n 单步执行,不进入函数内部。
info locals指令
info locals:查看当前作用域的局部变量。
print指令
缩写:p+变量名 打印变量的值。
display指令
缩写:disp+变量名 持续监视变量
undisplay指令
缩写:und+编号 取消display 命令设置的监视
backtrace指令
缩写:bt 查看函数调用栈。
quit指令
缩写:q 退出GDB调试器。