我意识到从GCC到clang,某些地址清理器功能可能有所不同;我的兴趣主要在于GCC(目前使用的是GCC 6.2和7.3)
我可以使用ASAN_OPTIONS
将halt_on_error=0
设置为在报告缺陷后继续进行,或者将其设置为1以在报告第一个缺陷后立即停止。
我正在寻找的是在N个缺陷之后停止运行的方法。 halt_on_error=N
不起作用,因为它只是一个二进制设置(开/关)。
还有其他方法可以实现这一目标吗?
b some_asan_defect_reporting_function if (asan_defect_count == N)
在此先感谢您提供任何信息。
戈登
答案 0 :(得分:0)
ASAN_OPTIONS=max_errors=N
以前有一个补充halt_on_error
标志,但是它在代码审查期间提出了太多问题,并且没有引人注目的用例,因此我中途放弃了它(您可以看到它已在this stage处删除)。如果您认为这样做可能有用,请尝试在Sanitizers tracker中提交错误。