You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LLVM 13 Windows环境下ASAN屏蔽外部库报错配置无效问题

问题原因及解决方案

  • 规则类型使用错误
    你当前配置的interceptor_via_fun、interceptor_via_lib属于拦截器旁路规则,作用是让ASAN跳过对指定函数/库的内存操作拦截,并非用来抑制已触发的报错输出,二者功能完全不同。你需要使用专门的报错抑制规则。

  • 正确的抑制规则写法
    针对你遇到的bad-free类型报错,抑制规则语法如下,直接写入my_asan.supp文件即可:

# 抑制python310.dll触发的bad_free报错
free:python310.dll

如果需要匹配所有外部库的同类型报错,可写free:*,但不推荐该做法,会遗漏你自己开发代码的内存问题。

  • Windows环境配置注意事项
    • 不要在抑制规则/拦截规则中添加ASAN自身运行时库(clang_rt.asan_dynamic-x86_64.dll)、系统内核库(ntdll.dll、KERNEL32.DLL),添加后会导致ASAN功能异常,无法正常执行抑制逻辑,你配置文件中这部分规则可以全部删除。
    • 加载抑制文件时要确保路径正确:如果使用相对路径,需要保证my_asan.supp放在程序运行的当前工作目录下;也可以直接写绝对路径避免出错。
    • 环境变量设置方式要适配终端:cmd下使用set ASAN_OPTIONS=suppressions=my_asan.supp,PowerShell下使用$env:ASAN_OPTIONS="suppressions=my_asan.supp"。

内容的提问来源于stack exchange,提问作者Cesc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:24:01