我在CentOS 7.2.1511上使用-fsanitize=address
编译我的代码。当我将gcc更新到7.1.0时,它无法再生成核心转储文件了。有谁能帮帮我吗?
gcc编译选项:
-lm -g3 -Wall -Wno-unknown-pragmas --std=c++11 -Werror -ggdb -fsanitize=address -fno-omit-frame-pointer -D_GLIBCXX_USE_CXX11_ABI=0
链接选项:
-lxml2 -lpthread -lmysqlclient -L/usr/lib64/mysql/ -llog4cxx -lprotobuf -llua -lluabind -lhiredis -lcrypto -lcurl -ljsoncpp -Wl,-E -fsanitize=address -ldl
当我使用gcc 4.8.5时,设置ASAN_OPTIONS选项通常会生成核心转储(core dump),例如:
export ASAN_OPTIONS="disable_core=0:unmap_shadow_on_exit=1:abort_on_error=1"
当我将gcc更新到7.1.0版本后,即使设置了如上所示的ASAN_OPTIONS,也无法再生成核心转储文件。