我想将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/