01
指针越界初探
什么是指针越界?常见场景:数组越界、字符串越界、容器越界。
基础数组
02
Qt内存模型
Qt对象树机制、QObject父子关系、自动内存管理原理。
内存对象树
03
野指针与悬空指针
野指针产生原因、悬空指针危害、如何避免。
危险调试
04
QVector越界
at()与operator[]区别、越界访问调试方法。
容器调试
05
QList越界
内部存储结构、迭代器失效、越界修复技巧。
迭代器修复
06
QString越界
索引访问、toStdString转换陷阱、中文编码越界。
字符串编码
07
QByteArray越界
字节数组操作、data()函数、空指针检查。
字节安全
08
QMap与QHash越界
键值对访问、find()与value()安全用法、迭代器越界。
映射安全
09
QLinkedList越界
链表遍历、节点删除、迭代器失效场景。
链表迭代器
10
QStack与QQueue越界
栈和队列的pop/top操作、空容器检查。
栈队列
11
QSet越界
集合元素访问、contains()检查、迭代器安全使用。
集合检查
12
QMultiMap与QMultiHash越界
多值映射、equal_range()使用、遍历安全。
多值遍历
13
QStringList越界
字符串列表操作、join()与split()陷阱、索引检查。
列表陷阱
14
QTableWidget越界
表格行/列访问、item()空指针、setItem安全用法。
表格空指针
15
QListWidget越界
列表项访问、currentItem()空指针、addItem安全。
列表空指针
16
QTreeWidget越界
树节点遍历、parent()与child()空指针、topLevelItem安全。
树遍历
17
QComboBox越界
下拉列表索引、currentIndex()检查、addItem安全。
下拉框索引
18
QTextEdit越界
文本光标操作、QTextCursor越界、document()空指针。
文本光标
19
QPlainTextEdit越界
纯文本编辑、block()访问、行号越界。
纯文本行号
20
QGraphicsView越界
图形场景、itemAt()空指针、坐标越界。
图形坐标
21
QPainter越界
绘图设备、绘制区域、clipRect()检查。
绘图裁剪
22
QPixmap与QImage越界
图像像素访问、width()/height()检查、format转换。
图像像素
23
QBuffer越界
内存缓冲区、read()/write()、size()检查。
缓冲区读写
24
QDataStream越界
数据流序列化、readRawData()、设备状态检查。
序列化流
25
QTextStream越界
文本流读写、readLine()、atEnd()检查。
文本流行读取
26
QProcess越界
进程通信、readAllStandardOutput()、空数据检查。
进程通信
27
QTcpSocket越界
网络数据接收、read()/readAll()、bytesAvailable()检查。
网络TCP
28
QUdpSocket越界
UDP数据报、readDatagram()、pendingDatagramSize()检查。
UDP数据报
29
QFile越界
文件读写、read()/write()、size()与pos()检查。
文件读写
30
综合实战
大型Qt项目指针越界调试案例、Valgrind与AddressSanitizer使用、代码审查清单。
实战工具