【发布时间】:2017-09-29 08:05:11
【问题描述】:
Clang's documentation 表示“默认情况下,MemorySanitizer 在第一次检测到错误时退出。”
有人知道如何让 MemorySanitizer 不会因错误而停止吗? 上面这句话暗示有办法,但我在文档中没有找到任何东西。
【问题讨论】:
标签: clang clang++ sanitizer memory-sanitizer
Clang's documentation 表示“默认情况下,MemorySanitizer 在第一次检测到错误时退出。”
有人知道如何让 MemorySanitizer 不会因错误而停止吗? 上面这句话暗示有办法,但我在文档中没有找到任何东西。
【问题讨论】:
标签: clang clang++ sanitizer memory-sanitizer
看来-fsanitize-recover=memory 选项应该合适。
控制由 -fsanitize= 标志启用的检查是非致命的。如果检查是致命的,程序将在检测到第一个此类错误并打印错误报告后停止。
使用-fsanitize-recover=all 应该使所有错误都不是致命的。
还有一些关于此的 Google 文档(搜索 continue-after-error):
【讨论】: