clang sanitizer回调错误

时间:2017-12-26 19:43:12

标签: c++ sanitizer

是否可以设置某种回调,当clang清理程序发现错误时会调用该回调?我需要打印一些有用的信息,例如 - test name。

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

1 个答案:

答案 0 :(得分:2)

__sanitizer_set_death_callback__asan_set_error_report_callback(在asan_interface.h中声明)。

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