如何设置ASAN/UBSAN报告输出
问题描述:
我想运行我的单元测试套件-fsanitize=address,undefined
,并将所有消毒剂错误写入report.txt
文件。默认情况下,所有的清理器错误都会写入标准输出,但是该软件也会将信息写入标准输出,因此很难检测到错误。我想:如何设置ASAN/UBSAN报告输出
export ASAN_OPTIONS="log_path=asan.log"
./mytests
而且我也尝试运行测试之前调用C API:
#include <sanitizer/asan_interface.h>
__sanitizer_set_report_path("/tmp/asan.log")
但既不似乎工作,所有的错误只是被写入到标准输出。我使用Debian的测试:
[email protected]:~# gcc --version
gcc (Debian 6.1.1-11) 6.1.1 20160802
Copyright (C) 2016 Free Software Foundation, Inc.
有没有办法,我可以从我的单元测试保存在某个地方的消毒错误任何其他方法?
答
嗯,我已经成功地使用了log_path多次。如果它不适合你,请向ASan github报告错误(最好使用最少的repro)。