【Linux系统编程】8.gdb调试工具

目录

基础指令

-g

list

b

run或者r

next或者n

step或者s

print或者p

continue

quit

其他指令

finish

set args

info b

ptype

bt

frame

display

undisplay

进程相关

设置跟踪子进程

设置跟踪父进程

前提:程序必须是自己写的!!!

gdb ./xxx.out

基础指令

-g

使用该参数编译可执行文件,得到调试表。

list

列出源码。

list 1

或者

l 1

b

设置断点。

b 行号
b 20	//在20行设置断点

 设置条件断点。

b 行号 条件
b 20 if i=5

run或者r

运行程序,可查找段错误的位置。

run

 或者

r

 设置传入main函数的参数。

run 参数值
run abc 123

next或者n

下一行代码,会跳过函数。

next

 或者

n

step或者s

下一行代码,会进入函数。

step

或者

s

print或者p

查看变量的值。

print 变量名
print i

 或者

p 变量名
p i

continue

继续执行断点后续代码。

quit

退出gdb当前调试。

其他指令

finish

结束当前函数调用。

finish

set args

设置传入main函数的参数。

set args 参数值
set args abc 123

info b

查看断点信息表。

info b

ptype

查看变量类型。

ptype 变量名
ptype i

bt

列出当前程序存在的栈帧,可查看栈帧编号。

bt

frame

切换栈帧。

frame 栈帧编号
frame 1

display

设置跟踪变量。

display 变量名
display i

undisplay

取消设置跟踪变量。

undisplay 变量的编号
undisplay 2

进程相关

        使用gdb调试的时候,gdb只能跟踪一个进程。通过指令设置gdb调试工具跟踪父进程或者是跟踪子进程。默认跟踪父进程。 一定要在fork函数调用之前设置才有效。

设置跟踪子进程

set follow-fork-mode child

设置跟踪父进程

set follow-fork-mode parent

猜你喜欢

转载自blog.csdn.net/CETET/article/details/130061813