使用ASAN_OPTIONS=detect_container_overflow=0代替默认值即可解决该问题。具体来说,在CMakeLists.txt文件中添加以下行:
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -fno-omit-frame-pointer -O1 -g -fno-optimize-sibling-calls")
set (ENV{ASAN_OPTIONS} "detect_container_overflow=0")
该代码会在使用Visual Studio CMake项目构建时,为DEBUG模式构造二进制文件,并为ASAN设置环境变量,以便在运行时禁用检测容器溢出。