gdb调试

gdb调试

l 显示对应的代码
r run,开始调试
b 打断点
info 查看断点信息
d 删除断点
enable breakpoint 开启断点
disable breakpoint 关闭断点
n(next) 逐过程(不进入函数)
s(step) 逐语句(进入函数体内)
p 显示变量
display 长显示变量
undisplay 取消长显示
until 在函数内进行指定行数的跳转
finish 执行完当前函数就停下来
c(continue) 从当前断点跳转到下一个断点
set var 修改var的值
bt 查看各级函数的调用和参数

l(list)

l num直接查看num行的代码,也可以通过函数名定位,l funcname num

gdb调试_第1张图片

gdb调试_第2张图片

r(run)

run顾名思义就是运行,让程序跑起来的意思

这里表示正常退出。

b(break)、info

b是用来打断点的,info用来显示断点信息的

gdb调试_第3张图片

run起来之后如下图所示:

gdb调试_第4张图片

程序就停在了断点处。

d(delete)

d:删除一个断点

gdb调试_第5张图片

enable breakpoint

enable breakpoint开启断点。

gdb调试_第6张图片

y表示断点是开启状态,n表示是关闭状态。

disable breakpoint

n(next)

n(next):逐过程(不进入函数)

gdb调试_第7张图片

s(step)

s(step):逐过程(进入函数)

gdb调试_第8张图片

p

p:显示变量

gdb调试_第9张图片

display

display长显示

gdb调试_第10张图片

每一次的指令都会显示arr的值。

undisplay

undisplay + num

gdb调试_第11张图片

until

until+num在函数体内跳转到num行

gdb调试_第12张图片

finish

完成当前函数就停下来。

gdb调试_第13张图片

执行完了add函数就在res处停下来了。

c(continue)

进入下一个断点

gdb调试_第14张图片

bt

gdb调试_第15张图片

你可能感兴趣的:(Linux,windows,服务器,linux)