簡體   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