使用 GCC 时,有什么方法可以将文件夹从地址消毒器中列入黑名单?

Is there any way to blacklist a folder from address sanitizer when using GCC?

所以我启用了-fsantize=address写了一个好的程序

但是,其他非我编写的库(例如,/lib64/...so)发现了很多问题

我查看了 -fsantize-blacklist 选项,但似乎它只适用于 clang,不适用于 GCC。

我知道您可以将源代码中的特定函数列入黑名单。但老实说,这不是理想的方式,因为我不知道哪个功能会提前导致问题。

有什么方法可以防止 GCC 为特定文件夹下的文件处理地址清理程序吗?

请帮忙:(

不幸的是 fsanitize-blacklist 已多次被 GCC 维护者拒绝,并且没有等效的选项。您可以添加 Clang 支持或使用 -fsanitize-recover=addressexport ASAN_OPTIONS=log_path=path/to/logs 来收集所有库中的错误,然后过滤相关的错误。