【解决】asan runtime does not come first in initial library list
清泛原创
报错信息:
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" runtime error.
可能有多种方式解决(请逐一尝试):
1、依赖的库列表中,将asan放到第一个
2、程序运行依赖中,入口程序必须添加asan支持,之后的程序都可以不加,否则报此错误。如A运行需要依赖B程序,则B作为入口程序添加asan即可,A不添加也能生效(推荐)
3、export LD_PRELOAD=/usr/lib64/libasan.so.4 (Linux asan的库位置)
4、添加编译选项:-fsanitize=address
5、动态链接
6、export ASAN_OPTIONS=verify_asan_link_order=0 禁用检查(仅高版本gcc支持)。
注:加-fsanitize=address编译选项可以检查出更详细的内存问题,不加也能编译通过也能执行检查。
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" runtime error.
可能有多种方式解决(请逐一尝试):
1、依赖的库列表中,将asan放到第一个
2、程序运行依赖中,入口程序必须添加asan支持,之后的程序都可以不加,否则报此错误。如A运行需要依赖B程序,则B作为入口程序添加asan即可,A不添加也能生效(推荐)
3、export LD_PRELOAD=/usr/lib64/libasan.so.4 (Linux asan的库位置)
4、添加编译选项:-fsanitize=address
5、动态链接
-lasan
--> 静态链接 -static-libasan
6、
注:加-fsanitize=address编译选项可以检查出更详细的内存问题,不加也能编译通过也能执行检查。
参考:https://stackoverflow.com/questions/59853730/asan-issue-with-asan-library-loading
2021/8/5 添加2、3节。
上一篇:namespace “std” has no member “clamp”
下一篇:【解决】munmap_chunk(): invalid pointer