我想将GCC的 sanitizer 用于 native 模块。

我使用链接选项:

-static-libasan -static-libtsan -static-liblsan -static-libubsan -fsanitize=address -lasan -lubsan

当我加载 native 模块时,它会显示错误消息:
ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.

现在,这似乎无法使用静态标志。
是否可以仅将 sanitizer 用于共享对象,还是必须将 sanitizer 直接链接到python3?

最佳答案

由于某种原因,在-lasan中进行链接也不起作用。但是,LD_PRELOAD工作正常。

如果可行,请尝试LD_PRELOAD

关于python - Python native 模块中的 sanitizer ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38957154/

10-11 15:13