我正在研究一个 C++ cmake 项目。除了我自己的源代码,我的项目使用了很多第三方库。因此,我正在使用 /usr/local/lib 中存在的共享库(带有 .so 扩展名),并且对于某些代码存在于 /usr/local/include 中。(就像我使用 /usr/local/include/eigen3/ 中存在的特征库一样)。
如何确保 Address Sanitizer 只检查我的源代码,而不检查任何标准或第三方库?
PS:目前,我正在使用如下所示的地址消毒剂:
ADD_COMPILE_OPTIONS(-O0 -g -Wall -fsanitize=address -fno-omit-frame-pointer)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
Run Code Online (Sandbox Code Playgroud)
我正在使用 gcc 版本:
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609