如何使用GDB

2023年9月22日,周五晚上


GDB的官方文档:

GDB Documentation (sourceware.org)


使用GDB的基本步骤

编译程序时加入调试信息

gcc -g code.c -o code

运行GDB

gdb code

设置断点

break main 
或
break 行号

运行程序

run

单步执行

next 
或
step
或
按enter键,相当于输入next

在GDB中,next和step这两个命令的主要区别在于:

  • next:执行完当前行代码后,直接跳到下一行代码开始执行。对函数调用,会直接进入函数体执行,不进入函数体内部代码

  • step:执行当前行代码后,如果当前行有函数调用,会进入该函数体内部的第一行代码设置断点并执行。对于函数调用,会进入函数体内部单步执行

简单来说:

  • next会直接跳过函数调用,不进入函数体内部单步执行。

  • step会进入函数体内部,对函数内部每一行代码都单独执行。

一般来说,next更快,step更细致。选择使用next还是step,取决于你需要调试的细节程度。

查看变量值

print 变量名

继续运行直到下一个断点

continue

结束调试,退出GDB

quit

其他常用命令

  • list :查看源代码
  • backtrace :查看调用栈
  • clear :清除断点
  • info breakpoints :查看断点信息
  • help :获取帮助

你可能感兴趣的:(GDB,linux,运维,服务器)