是否可以设置某种回调,当 clang sanitizers 发现错误时将调用该回调?我需要打印一些有用的信息,例如 - 测试名称。
PS 测试保存/存储为 XML 文件,而不是 C++,这就是为什么堆栈跟踪不会告诉我失败的测试名称。
有__sanitizer_set_death_callback
and __asan_set_error_report_callback
(在asan_interface.h中声明)。
同样正如 willir 所指出的,仅使用ASAN_OPTIONS=abort_on_error=1
. 这将导致 Asan 调用abort
错误,然后许多单元测试框架可以跳过失败的测试并继续执行。