gdb的使用

gdb的使用

目录

  1. 什么是gdb
  2. 基本功能
  3. 基本操作流程
    1. 启动gdb
    2. 运行程序
    3. 设置断点
    4. 单步执行
    5. 查看变量值
    6. 查看源码上下文
    7. 继续运行程序
    8. 删除断点
    9. 退出gdb

1.什么是gdb

概念gdb(GNU Debugger)是 Linux 系统上常用的调试工具,主要用于调试 C、C++ 等编程语言编写的程序。gdb 可以帮助开发者分析程序的运行时行为、跟踪代码的执行、查找程序崩溃的原因、检查变量值等。

2.基本功能

  • 设置断点:可以在程序的某行或某个函数设置断点,当程序运行到该点时暂停执行。
  • 单步执行:逐步执行代码,可以跟踪程序的执行流程。
  • 检查变量:查看和修改变量的值,检查程序的状态。
  • 跟踪堆栈:查看函数调用堆栈,找到程序崩溃时的上下文。
  • 查看内存:检查内存中的数据,尤其在调试指针和复杂数据结构时很有用。

3.基本操作流程

为了能够在 gdb 中调试,需要在编译时使用 -g 选项生成包含调试信息的可执行文件:

$ gcc -g -o my_program my_program.c

这样生成的可执行文件包含调试符号,才能在 gdb 中追踪代码。

3.1启动gdb

使用 gdb 启动可执行文件:

$ gdb ./my_program

进入 gdb 的交互式命令行界面。

3.2运行程序

run

这会开始执行程序,直到程序结束或遇到断点。

3.3设置断点

  • 给特定行设置断点:

    break 行号
    
  • 在特定函数设置断点:

    break 函数名
    

3.4单步执行

  • 逐行执行(跳入函数内部):

    step
    
  • 逐行执行(不跳入函数内部):

    next
    

3.5查看变量值

print 变量名

eg:print sum将查看变量sum的值。

3.6查看源码上下文

l

默认会显示当前行及其前后几行的代码。

3.7继续运行程序

continue

程序会从断点处继续运行,直到下一个断点或程序结束。

3.8删除断点

delete 断点号

例如,delete 1 会删除编号为 1 的断点。使用 info breakpoints 查看断点编号。

3.9退出gdb

quit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值