我们讲解如何阅读
AddressSanitizer (
ASan) 和
UndefinedBehaviorSanitizer (
UBSan) 的实用流程:如何在 10 秒内抓住问题类型(
heap-buffer-overflow、
division by zero)、找到指向你的第一个
.cpp/
.hpp 的行、读取
stack trace 并区分“发现地点”与“产生地点”。在以
std::vector 为例的小项目中,我们给出类似
i
<
v
.
size() 的不变量,并学习修复根本原因而不是症状。