gcc ASAN:我可以在同一个文件中同时使用-fsanitize=地址和LD_PRELOAD=/usr/lib/libasan.so吗

u2nhd7ah  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(169)

我用-fsanitize=address编译一个程序,但得到错误

==48458==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.

添加LD_PRELOAD后,它工作正常,但如果我使用LD_PRELOAD我需要-fsanitize=address编译器标志以及?
在添加LD_PRELOAD之后,我还应该用-fsanitize=address标志编译我的程序吗?

omqzjyyz

omqzjyyz1#

是的,-fsanitize=address在代码中插入了额外的检测,用于检测内存错误。你肯定想留着它

相关问题