[英]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.