繁体   English   中英

如何在Android NDK GCC上使用AddressSanitizer?

[英]How to Use AddressSanitizer on Android NDK GCC?

我想使用AddressSanitizer检查使用GCC 4.9编译的Android Native C ++代码中的内存问题。

所以,我设定

SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -g1 -fsanitize=address -fno-omit-frame-pointer")
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g1 -fsanitize=address -fno-omit-frame-pointer")
SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address -static-libasan")

在我的CMakeLists.txt文件中。

但我得到一个错误:

ld.exe:错误:找不到-lasan“,我在NDK目录中找到,我找不到libasan.so

NDK GCC是否与NDK Clang不同? 在NDK中,只是氏族支持AddressSanitizer?

您不能在NDK中将ASAN与GCC一起使用。 这些库从未发行。 ASAN支持铿锵,而GCC是不是在当前NDKs支持在所有

NDK GCC是否与NDK Clang不同?

与非NDK GCC与非NDK Clang相同,是的。 他们是不同的编译器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM