文章目录
什么是GDB
1、GDB是什么
GDB 是调试器,可以查看你在程序运行时发生了什么
2、GDB可以做什么事
-
启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
-
可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
-
当程序被停住时,可以检查此时你的程序中所发生的事。
-
动态的改变你程序的执行环境。
3、GDB支持跨平台,支持多种语言
平台:unix,windows,mac
语言:C/C++ ,go ,汇编,…
搭建实验环境
1、安装gdb
yum install gdb
2、检查gdb是否安装成功
gdb --version
Quickstart
1、创建一个 .c 文件
vim test.c
#include<stdio.h>
int main(){
int arr[4] = {1,2,3,4};
int i = 0;
for(i = 0;i<4;i++)
ptintf("%d\n",arr[i]);
return 0;
}
2、加入gdb调试
gcc -g test.c
gdb a.out
执行以上两句代码,会进入gdb调试,使用gdb的命令调试,命令可简写
gdb命令 | 简写 | 功能 |
---|---|---|
break | b | 打断点:可在第几行打断点;可在函数名字打断点 |
run | r | 运行程序 |
backtrace | bt | 查看各级函数调用及参数 |
p | 打印已执行语句中的变量值 | |
continue | c | 从当前位置开始连续而非单步执行程序 |
next | n | 往下执行一步 |
edit | e | |
list | l | 查看源代码 |
step | s | 进去某一个具体的函数调试 |
quit | q | 退出gdb模式 |
help | h | 帮助 |
info | i | 查看断点情况 |
GDB其他操作
1、shell 调用终端的命令
2、日志功能
set logging on
3、watchpoint
观察变量是否变化
info 来查看我们的watchpoint