GDB调试方法及命令

文章目录

  • GDB基本命令

  • 调试程序

  • GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。

  • 一般来说,GDB主要帮助你完成下面四个方面的功能:

    • 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序(按着自己的想法运行)
    • 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
    • 3、当程序被停住时,可以检查此时你的程序中所发生的事
    • 4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG
  • GDB支持以下编程语言 Ada、Assembly、C、C++、D、Fortran、Go、Objective-C、OpenCL、Modula-2、Pascal、Rust

GDB基本命令

启动与退出

命令 说明
gdb <program> 启动GDB并加载可执行程序
gdb <program> <core> 使用GDB调试core dump文件
gdb -p <pid> 附加到正在运行的进程
quit或 q 退出GDB
run 或 r 运行程序
run <arg1> <arg2> ... 带参数运行程序

断点管理

执行控制

查看与监视

程序状态信息

调试程序

普通调式

bash 复制代码
# 编译带调试信息的程序
gcc -g -o test test.c

# 启动GDB
gdb ./test

# 在GDB中:
(gdb) break main
(gdb) run
(gdb) next
(gdb) print variable
(gdb) watch variable
(gdb) continue
(gdb) backtrace
(gdb) quit

调试core文件

  • 同时指定一个可执行程序和一个核心文件来启动:gdb program core

调试正在运行的进程

  • 可以指定一个进程ID作为第二个参数,或者使用选项"-p"
    • gdb program 1234
    • gdb -p 1234
相关推荐
安替-AnTi7 天前
不用 root:我用 Tailscale 打通了云手机的 ADB 通道
adb·测试·调试·云手机·claude code
阿钱真强道18 天前
82 极物科技 | KNX调试 - 常见报文异常案例分析
调试·极物·极物智能·极物科技·knx协议·个体地址·报文过滤
阿钱真强道18 天前
78 极物科技 | KNX报文追踪 - 功能总览与使用指南
调试·楼宇自动化·极物·极物智能·极物科技·knx协议·报文追踪
你的强来了99819 天前
WCHToolKit场景实战
网络·串口·调试·usb·ble·分析
djjjx.19 天前
Linux工具篇 (六):GDB 调试从底层逻辑到高阶实战
linux·运维·服务器·gdb
skywalk81631 个月前
给DeepSeek harness发布R107任务撰写工作:还有一些其它遗留问题,你也一并放到这一轮任务里!你写并行任务文档,我来分发!
人工智能·调试·deepseek
skywalk81631 个月前
lightplugin项目已经复刻完成了很多插件,还有需要复刻的插件吗? 再复刻12个,另外解决复刻的插件的宽度和广度!
人工智能·调试
Naisu Xu1 个月前
记一次STM32H503冷启动后进入HardFult_Handler的问题
stm32·单片机·嵌入式硬件·调试·内存问题
请输入蚊子1 个月前
IOT固件调试环境搭建
gdb·iot
sulikey2 个月前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump