【发布时间】:2017-09-01 09:31:20
【问题描述】:
我在 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 生成核心转储,如下所示:
export ASAN_OPTIONS="disable_core=0:unmap_shadow_on_exit=1:abort_on_error=1"
当我将 gcc 更新到 7.1.0 时,即使 ASAN_OPTIONS 设置为如上,也无法再生成核心转储。
【问题讨论】:
标签: gcc coredump address-sanitizer