VIP20
本课程属于:005-GDB调试 编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

GDB多文件项目调试实战

📚 共计 30 章节
01
GDB入门
GDB是什么 · 能做什么 · 安装与基本启动
基础环境
02
多文件项目结构
多文件编译 · Makefile基础 · 生成带调试信息的可执行文件
编译Makefile
03
启动与退出
启动GDB · 设置运行参数 · 退出 · 常用启动选项
基础CLI
04
断点设置基础
break命令 · 行号/函数/条件断点
断点核心
05
断点管理
info break · delete · enable/disable
管理效率
06
单步执行
step · next · finish · until
步进流程
07
查看变量
print · display · 格式化输出 · 数组/结构体
变量数据
08
栈帧回溯
backtrace · frame · 调用栈 · 切换栈帧
栈回溯
09
多文件断点
跨文件断点 · 文件名:行号 · 头文件断点
多文件断点
10
条件断点实战
复杂条件 · 变量/表达式 · 循环精准定位
条件实战
11
观察点
watch · 硬件/软件观察点 · 变量变化
观察数据
12
捕获点
catch · 异常/系统调用/信号捕获
捕获异常
13
核心转储文件
生成core dump · 分析core · 定位崩溃
崩溃分析
14
多线程调试基础
info threads · thread · 切换/线程断点
线程并发
15
多线程同步问题
死锁 · 竞态条件 · TSAN工具辅助
同步死锁
16
多进程调试
set follow-fork-mode · attach · 父子进程
进程fork
17
远程调试
gdbserver · 远程连接 · 嵌入式调试
远程嵌入式
18
GDB脚本入门
定义命令 · 条件/循环 · 自动化调试
脚本自动化
19
GDB Python扩展
Python API · 自定义命令 · 美化输出
Python扩展
20
逆向调试
record/reverse-step · 回放 · 定位bug引入点
逆向回放
21
内存调试
检查内存泄漏 · 堆内存 · valgrind配合
内存泄漏
22
汇编级调试
disassemble · stepi/nexti · 寄存器
汇编底层
23
信号处理
handle命令 · 信号处理方式 · 信号处理函数
信号中断
24
宏和预处理调试
展开宏 · 调试宏展开 · -dM选项
宏预处理
25
动态库调试
共享库断点 · 加载符号表 · 动态链接
动态库链接
26
性能分析
GDB性能采样 · perf工具 · 热点函数
性能采样
27
调试优化代码
-O2/-O3 · -g -Og · 优化带来的变化
优化编译
28
实战案例一
内存越界 · 段错误 · 未初始化变量
实战错误
29
实战案例二
复杂数据结构 · 链表 · 递归函数
实战数据结构
30
综合项目实战
完整C++多文件项目 · 启动到定位bug全流程
综合项目