GDB基础命令

本文介绍GDB作为C++调试工具的使用方法,包括设置断点、查看变量、跟踪调用栈等基本操作,并涵盖如何加载动态库及多线程调试等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GDB是C++的调试工具,编译的时候加上-g选项即可。简单方便,可以一步一步进行调试。

1. b + 函数名或者文件:行数。设置断点,运行的时候可以在断点处卡住。

2. start:卡在main函数第一行,只加载动态,静态库等预处理程序。不执行。

    2.1:有些动态库的函数一开始没有被加载进来。必须使用这个命令才能把动态库的函数也加载进来。

    2.2:有些程序执行需要带参数。可以 start后跟参数即可。

3. run:直接开跑。

4. set args:设置运行参数。就是./main 1 2 3,后面的1 2 3

5. c: 跳到第一个被设置的断点处。

6. i locals : 查看所有当前函数的临时变量。

7. i threads : 查看进程的所有线程。

8. p + 变量 : 查看当前变量,可执行简单的->, *, 加减乘除等操作。

9. l : 查看附近代码。

10. n: 执行这一行,跳到下一行。

11. s:跳到执行到的当前函数里面。

12. bt:查看函数栈。(重要)

13. t + 线程号,进入某个线程。

14. up : 向栈顶移动。

15.down:向栈底移动。

16.attach + 进程号,进入死循环了的进程。然后配合 i threads,t + thread id等命令使用。

17.i register 查看寄存器内的值。其中每层函数栈都不同。

18. dess+table 可以看到汇编代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值