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