如何使一个错误后MemorySanitizer不会停止

时间:2017-09-29 08:05:11

标签: clang clang++ sanitizer memory-sanitizer

Clang's documentation表示"默认情况下,MemorySanitizer会在第一次检测到错误时退出。"

有人知道如何让MemorySanitizer不要停止错误吗? 上面的句子表明有一种方法,但我在文档中找不到任何内容。

1 个答案:

答案 0 :(得分:2)

似乎-fsanitize-recover=memory选项应该适合。

来自clang documentation

  

控制-fsanitize = flag启用的检查是非致命的。如果检查是致命的,则在检测到第一个此类错误并打印错误报告后,程序将暂停。

使用-fsanitize-recover=all会使所有错误都不致命。

还有一些关于此的Google文档(搜索继续错误后):

https://github.com/google/sanitizers/wiki/AddressSanitizer