文档目录
ASan(内存错误):
    堆/栈越界、Use-After-Free、Double-Free
    编译:-fsanitize=address
    速度:慢 2x,内存多 2-3x

UBSan(未定义行为):
    整数溢出、移位越界、空指针解引用
    编译:-fsanitize=undefined
    建议:所有项目 Debug 构建都应该开启

TSan(数据竞争):
    多线程无锁编程的 Bug
    编译:-fsanitize=thread
    限制:不能和 ASan 一起用,要求全量重编

最佳实践:
    Debug 构建:-fsanitize=address,undefined
    CI 测试构建:-fsanitize=thread(单独跑)
    生产构建:不要带 sanitizer(性能影响太大)