是否可以设置某种回调,当 clang sanitizer 发现错误时将调用该回调?我需要打印一些有用的信息,例如 - 测试名称。
附言测试保存/存储为 XML 文件,而不是 C++,这就是堆栈跟踪不会告诉我失败的测试名称的原因。
最佳答案
有 __sanitizer_set_death_callback
和 __asan_set_error_report_callback
(在 asan_interface.h 中声明)。
另外,正如 willir 所指出的,使用 ASAN_OPTIONS=abort_on_error=1
运行可能就足够了。这将导致 Asan 在出错时调用 abort
,然后许多单元测试框架可以跳过失败的测试并继续执行。
关于c++ - clang sanitizer 错误回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47983039/