GDB 调试

2019-09-29 17:37:24 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_40313634/article/details/88619906

实验楼值GDB常用命令实战课程学习记录

1. 安装工具:

代码语言:javascript复制
sudo apt-get install gdb

2. 编译可调式程序:

代码语言:javascript复制
gcc bugging.c -o bugging -g -m32
-o: 生成的可执行文件的名字。默认是a.out。
-g: 生成的程序允许gdb 调试。
-m32:生成32位的程序。默认,程序位数和OS位数相同。
编译32位程序时报错:fatal error: sys/cdefs.h: 没有那个文件或目录。
解决:
安装32库:sudo apt-get install libc6-dev-i386
如果安装库报错,则更新OS软件:sudo apt-get updata
然后重新安装32库就可以了。

3. 调试:

代码语言:javascript复制
开始调试:gdb bugging
结束调试:quit
断点在循环中时:
    enable once Num  // 断点hit 一次后,失效。
    enable delete Num  // 断点执行一次后删除。
打印当前函数的所有局部变量的值:
    info locals

命令

简写

说明

list

l

查看附近源码

next

n

执行下一步

step

s

一次执行一行,遇到函数会进入

break

b

设置断点

info breakpoints

显示断点信息

delete

d

删除断点

print

p

打印值

until

u

执行到指定行

continue

c

继续运行

run

r

执行程序,启动调试

finish

f

运行到函数结束

backtrace、where、info stack

打印堆栈信息

0 人点赞