我想运行我的单元测试套件-fsanitize=address,undefined
并将所有消毒剂错误写入report.txt
文件。默认情况下,所有 sanitizer 错误都会写入标准输出,但是软件也会将信息写入标准输出,因此很难检测到错误。我试过了:
export ASAN_OPTIONS="log_path=asan.log"
./mytests
我还尝试在运行测试之前调用 C API:
#include <sanitizer/asan_interface.h>
__sanitizer_set_report_path("/tmp/asan.log")
然而,似乎两者都不起作用,所有错误都被写入标准输出。我正在使用 Debian 测试:
root@94e239ad460a:~# gcc --version
gcc (Debian 6.1.1-11) 6.1.1 20160802
Copyright (C) 2016 Free Software Foundation, Inc.
是否有任何替代方法可以将我的单元测试中的消毒剂错误保存在某处?