0

Clang 的文档说“默认情况下,MemorySanitizer 在第一个检测到的错误时退出。”

有人知道如何使 MemorySanitizer 不会因错误而停止吗?上面这句话暗示有办法,但我在文档中没有找到任何东西。

4

1 回答 1

3

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

来自clang 文档

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

使用-fsanitize-recover=all应该使所有错误都不是致命的。

还有一些关于此的 Google 文档(搜索continue-after-error):

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

于 2017-09-29T10:19:23.293 回答