首页
›
编程基础与工程化
›
004-GDB
›
《GDB实战:指针越界排查全流程》
VIP20
本课程属于:004-GDB
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
GDB实战:指针越界排查全流程
📚 共计 30 章节
第01课
课程导学:指针越界的危害与典型场景,GDB调试环境准备
了解指针越界的真实危害,搭建GDB调试环境,开启排查之旅。
导学
环境
第02课
GDB基础回顾:启动GDB、设置断点、单步执行、查看变量
重温GDB核心操作,为后续实战排查打下坚实基础。
GDB
基础
第03课
指针基础回顾:指针声明、取地址、解引用、指针运算
巩固指针核心概念,理解地址与内存的关系。
指针
内存
第04课
越界场景一:数组越界写——覆盖相邻变量
通过数组越界写覆盖相邻变量,观察内存破坏的后果。
数组越界
写
第05课
越界场景一:实战排查——使用watch命令监控变量变化
利用watch命令监控变量,精准定位越界写入点。
watch
监控
第06课
越界场景一:实战排查——使用x命令查看内存布局
使用x命令探索内存布局,可视化越界痕迹。
x命令
内存
第07课
越界场景二:字符串操作越界——strcpy/strcat导致缓冲区溢出
字符串函数使用不当引发缓冲区溢出,经典越界案例。
字符串
溢出
第08课
越界场景二:实战排查——使用backtrace定位崩溃点
程序崩溃时用backtrace回溯调用栈,快速定位问题。
backtrace
崩溃
第09课
越界场景二:实战排查——使用frame切换上下文
通过frame命令切换栈帧,深入分析崩溃现场。
frame
上下文
第10课
越界场景三:动态内存越界——malloc/free后的野指针
动态内存管理不当导致野指针,释放后访问的典型问题。
动态内存
野指针
第11课
越界场景三:实战排查——使用info proc mappings查看内存映射
查看进程内存映射,识别堆、栈、代码段布局。
内存映射
info
第12课
越界场景三:实战排查——使用watchpoint监控堆内存
对堆内存设置观察点,捕获非法写入。
watchpoint
堆
第13课
越界场景四:函数指针越界——覆盖返回地址
通过函数指针越界篡改返回地址,控制程序流。
函数指针
返回地址
第14课
越界场景四:实战排查——使用disassemble反汇编分析
反汇编代码,从汇编层面追踪越界逻辑。
反汇编
disassemble
第15课
越界场景四:实战排查——使用stepi单指令调试
单指令步进,逐条观察CPU执行过程。
stepi
单指令
第16课
越界场景五:多线程中的指针越界——数据竞争
多线程环境下指针越界引发数据竞争,调试复杂度升级。
多线程
数据竞争
第17课
越界场景五:实战排查——使用thread命令切换线程
使用thread命令灵活切换线程,分析各线程状态。
thread
切换
第18课
越界场景五:实战排查——使用break thread设置线程断点
为特定线程设置断点,精准调试并发问题。
线程断点
break
第19课
越界场景六:结构体指针越界——成员访问越界
结构体指针操作越界,破坏相邻成员数据。
结构体
成员越界
第20课
越界场景六:实战排查——使用ptype查看结构体类型
通过ptype查看结构体定义,理解内存对齐与布局。
ptype
类型
第21课
越界场景六:实战排查——使用print打印结构体成员偏移
计算并打印成员偏移,验证越界访问位置。
print
偏移
第22课
越界场景七:C++虚表指针越界——虚函数调用崩溃
虚表指针被破坏导致虚函数调用异常,C++特有越界。
虚表
C++
第23课
越界场景七:实战排查——使用info vtbl查看虚表
通过info vtbl查看虚函数表,诊断虚表越界。
vtbl
虚表
第24课
越界场景七:实战排查——使用set print vtbl on打印虚表
开启虚表打印,详细查看虚表内容。
print vtbl
设置
第25课
越界场景八:全局变量越界——修改关键状态标志
全局变量被越界修改,影响程序核心状态。
全局变量
状态
第26课
越界场景八:实战排查——使用info variables查找全局变量
列出所有全局变量,快速定位被修改的目标。
info variables
全局
第27课
越界场景八:实战排查——使用awatch监控读写
awatch同时监控读写操作,捕获越界访问。
awatch
读写
第28课
综合案例一:模拟一个内存池管理器的越界问题
综合运用GDB技术,排查内存池管理器的越界bug。
综合案例
内存池
第29课
综合案例二:模拟一个网络协议解析器的越界问题
解析网络协议时发生越界,实战演练排查流程。
综合案例
协议解析
第30课
课程总结:指针越界排查方法论与GDB调试心法
总结排查方法论,提炼GDB调试心法,融会贯通。
总结
方法论
所属VIP或分类
同VIP:GDB原理解析:从断点到堆栈回溯
同VIP:GDB原理解析:库链接与跨平台编译
同VIP:GDB原理解析:深入断点与性能优化