项目/gwp-asan
更新于 2026/04/12
gwp-asan
从 LLVM 独立出来的 standalone GWP-ASan,提供 CMake 构建、集成示例、符号化脚本与上游测试。
gwp-asan 将 LLVM 中的 GWP-ASan 实现拆成独立仓库,让不使用完整 compiler-rt 构建系统的 C++ 项目也能通过 CMake 接入 sampled allocator。它保留上游 Linux 支持范围,目标是缩短实验、集成和跟踪上游修复的路径。
独立化工作
- 整理独立 CMake 构建,并提供 example 与 testing 开关。
- 清理对完整
sanitizer_common源码树的耦合。 - 提供
new、deleteallocator hook 和 jemalloc 链接示例。 - 将符号化脚本放到可直接调用的位置,修复 backtrace 输出。
- 增加 Linux CI,并把 LLVM GWP-ASan 单元测试接入 standalone 构建。
- 维护上游同步提交,避免独立版本长期停留在最初抽取状态。
使用边界
GWP-ASan 是采样式堆错误检测器,不替代完整 AddressSanitizer。应用仍需在分配与释放路径中判断采样、识别 guarded pointer,并安装崩溃处理器。当前仓库跟随 LLVM 的支持范围,只面向 Linux。