01
GDB入门
GDB的历史与作用 · 嵌入式核心地位 · 基本工作流程
基础概念
02
GDB安装与配置
Linux/Windows/macOS安装 · MinGW与Cygwin · 版本选择
环境配置
03
GDB基本命令
启动退出 · 断点 · 单步 · 查看变量 · backtrace
命令调试
04
GDB调试C程序
编译带调试信息 · 段错误 · 逻辑错误调试
C语言实战
05
GDB调试C++程序
STL容器 · 虚函数追踪 · 异常处理调试
C++面向对象
06
GDB调试多线程程序
线程创建销毁 · 同步问题 · 死锁检测定位
多线程并发
07
GDB调试多进程程序
fork调试 · attach运行进程 · 进程间通信调试
多进程IPC
08
GDB核心转储分析
core dump生成配置 · 分析core文件 · 崩溃模式
故障分析
09
条件断点与观察点
条件断点技巧 · 硬件/软件观察点 · 数据变化追踪
断点高级
10
GDB宏与自动化
启动脚本 · 定义GDB命令 · Python扩展
脚本效率
11
GDB远程调试原理
gdbserver架构 · 远程调试协议 · 网络与串口
远程原理
12
GDB远程调试实践
搭建gdbserver · 目标板连接 · 远程符号加载
实践嵌入式
13
交叉编译工具链
交叉编译概念 · ARM/RISC-V/MIPS · 安装配置
工具链交叉编译
14
静态库与动态库
库创建使用 · 静态vs动态链接 · 运行时搜索路径
库链接
15
链接脚本基础
链接脚本作用 · MEMORY/SECTIONS · 符号定位对齐
链接脚本
16
链接错误解析
未定义引用 · 多重定义 · 符号找不到 · 段错误关联
错误排查
17
库依赖问题
ldd工具 · 版本冲突 · 符号版本控制
依赖兼容
18
CMake跨平台构建
CMakeLists.txt · 交叉编译工具链 · 与GDB集成
构建CMake
19
Makefile跨平台构建
条件编译 · 变量传递 · 调试/发布版本构建
Makefile构建
20
Autotools构建系统
autoconf/automake · 交叉编译配置 · configure调试
Autotools构建
21
Docker构建环境
Dockerfile · 多阶段构建 · 容器内GDB调试
容器Docker
22
QEMU模拟调试
用户/系统模式 · QEMU+GDB联合 · 外设模拟调试
模拟QEMU
23
ARM平台调试实战
Cortex-M调试 · Linux应用 · NEON指令集调试
ARM实战
24
RISC-V平台调试实战
工具链搭建 · 模拟器调试 · Linux调试
RISC-V实战
25
MIPS平台调试实战
交叉编译 · 特有调试技巧 · ABI问题
MIPS调试
26
性能分析与优化
GDB性能命令 · 函数调用计数 · 热点代码定位
性能优化
27
内存泄漏检测
GDB+Valgrind · 堆内存跟踪 · 内存越界检测
内存泄漏
28
逆向工程与反汇编
GDB反汇编 · AT&T/Intel语法 · 反汇编分析技巧
逆向汇编
29
GDB插件与扩展
GEF插件 · Pwndbg · 自定义Python脚本
插件扩展
30
综合实战:从零调试跨平台项目
项目结构分析 · 编译排查 · 运行时调试 · 性能优化全流程
综合实战