作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我这样编译代码来启用 Asan:
g++ -O0 -g -fsanitize=address -fno-omit-frame-pointer
但它永远不会生成核心转储,以便我稍后可以检查错误的详细信息。我怎样才能生成它?
最佳答案
您需要设置环境变量来请求核心转储
export ASAN_OPTIONS=abort_on_error=1
这确实应该是默认值,但由于历史原因,ASan 只是以非零错误代码退出。
在 64 位系统上,您可能需要添加
export ASAN_OPTIONS=abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1
(默认情况下禁用核心转储,担心它们太大)。
有关标志的完整列表,您可以查看 Asan wiki .
关于gcc - 如何在 AddressSanitizer 错误时生成核心转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42851670/
我是一名优秀的程序员,十分优秀!