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

GDB堆栈分析与回溯实战

📚 共计 30 章节
第01章
GDB入门
什么是GDB · 能做什么 · 安装启动 · 基本命令概览
基础工具
第02章
编译与调试信息
-g选项 · 调试符号表 · 优化影响 · strip命令
编译符号
第03章
启动与退出GDB
多种启动方式 · 加载可执行/core文件 · attach · 退出
操作入门
第04章
断点设置与管理
break · 条件/临时/硬件断点 · 观察点 · 启用/禁用/删除
断点调试
第05章
单步执行与继续运行
step · next · finish · continue · until · advance
执行控制
第06章
查看变量与内存
print · display · x命令 · 格式化输出 · 寄存器
变量内存
第07章
堆栈基础概念
栈帧 · SP/FP · 函数调用约定 · 栈生长方向
堆栈核心
第08章
backtrace命令详解
bt/backtrace · 查看n层 · full参数 · 线程栈
回溯常用
第09章
frame命令与栈帧切换
frame · up/down · select-frame · info frame
栈帧切换
第10章
局部变量与参数查看
info locals · info args · 变量在栈帧中的位置
变量栈帧
第11章
汇编级堆栈分析
x/20x $sp · info registers · 返回地址查看
汇编底层
第12章
Core Dump分析
什么是Core · ulimit · 生成/分析Core文件
崩溃分析
第13章
段错误定位
bt定位崩溃点 · 查看变量 · 修复思路
段错误实战
第14章
栈溢出分析
递归过深 · 无限递归 · 栈空间使用量
栈溢出递归
第15章
内存越界与栈破坏
踩内存 · 返回地址篡改 · 异常bt · 栈上数据
越界破坏
第16章
多线程堆栈分析
thread · thread apply all bt · 局部变量 · 死锁
多线程并发
第17章
信号处理与堆栈
信号处理函数 · sa_sigaction · siginfo_t · 上下文
信号中断
第18章
内联函数与优化影响
内联栈帧表现 · 优化后栈帧缺失 · 应对方法
内联优化
第19章
动态库中的堆栈
共享库加载 · PLT/GOT · 符号解析 · 库调用栈
动态库链接
第20章
TUI模式与可视化堆栈
GDB TUI · layout asm/src · 可视化堆栈
TUI可视化
第21章
Python扩展与堆栈分析
Python接口 · 自动化分析 · pretty-printer
Python扩展
第22章
逆向工程中的堆栈应用
还原调用链 · 识别参数 · 破解简单程序
逆向安全
第23章
嵌入式开发中的GDB堆栈
交叉编译 · gdbserver · 远程调试 · 栈空间限制
嵌入式远程
第24章
性能分析中的堆栈
采样profiling · 热点函数 · gprof与GDB结合
性能profiling
第25章
宏与内联汇编对堆栈的影响
宏展开调试 · 内联汇编破坏栈帧 · 调试方法
宏汇编
第26章
异常处理与堆栈
C++异常 · setjmp/longjmp · SEH处理
异常C++
第27章
GDB脚本与自动化调试
.gdbinit · 命令脚本 · 条件断点与命令列表
脚本自动化
第28章
常见堆栈问题排查实战
野指针crash · double free · use after free
实战排查
第29章
GDB堆栈分析高级技巧
逆向执行 · 非侵入调试 · watchpoint+堆栈
高级技巧
第30章
综合实战:大型项目Crash分析
从core到修复 · 完整案例 · 总结与最佳实践
综合项目