2016-09-25 101 views
1

我想運行我的單元測試套件-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. 

有沒有辦法,我可以從我的單元測試保存在某個地方的消毒錯誤任何其他方法?

回答

0

嗯,我已經成功地使用了log_path多次。如果它不適合你,請向ASan github報告錯誤(最好使用最少的repro)。