我添加了AddressSanitizer标志如下:
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
Run Code Online (Sandbox Code Playgroud)
一切都在使用时构建并运行良好Unix Makefiles.
生成Xcode项目时出现问题,它只是不想链接,因为它找不到ASan库.
我已经找到了两个解决方案,但决定不使用它们,因为它们不能仅使用CMake自动化:
-Wl,-undefined,dynamic_lookup到链接的标志,因此它会跳过链接到动态库.libclang_rt.asan_osx_dynamic.dylib直接链接.那么这两种解决方案的问题是什么?
DYLD_INSERT_LIBRARIES指向的环境变量libclang_rt.asan_osx_dynamic.dylib.另外作为另一种解决方案,我尝试从Xcode目标方案启用Address Sanitizer标志,但有趣的是它没有检测到我添加的问题,因此我没有将其列为解决方案,因为它未通过我的测试.
任何帮助都感激不尽.