clang sanitizer 错误回调

clang sanitizer callback on error

是否可以设置某种回调,当 clang 消毒剂发现错误时调用该回调?我需要打印一些有用的信息,例如 - 测试名称。

P.S。测试是 kept/stored 作为 XML 文件,而不是 C++,这就是为什么堆栈跟踪不会告诉我失败的测试名称。

__sanitizer_set_death_callback__asan_set_error_report_callback(在asan_interface.h中声明)。

也正如 willir 所指出的,运行 和 ASAN_OPTIONS=abort_on_error=1 可能就足够了。这将导致 Asan 在错误时调用 abort,然后许多单元测试框架可以跳过失败的测试并继续执行。