2016-09-25 14 views
1

단위 테스트 스위트를 -fsanitize=address,undefined과 함께 실행하고 모든 새니 타이저 오류를 report.txt 파일에 기록하고 싶습니다. 기본적으로 모든 새 니타 이저 오류는 stdout에 기록되지만 소프트웨어는 stdout에 정보를 기록하기 때문에 오류를 감지하기가 어렵습니다. 모든 오류는 표준 출력에 기록 얻을,ASAN/UBSAN보고 출력을 설정하는 방법

#include <sanitizer/asan_interface.h> 

__sanitizer_set_report_path("/tmp/asan.log") 

을 그러나 어느 쪽도 작동하는 것 같다 :

export ASAN_OPTIONS="log_path=asan.log" 
./mytests 

을 그리고 나는 또한 테스트를 실행하기 전에 C API를 호출 시도 : 나는 시도하지. 데비안 테스트를 사용하고 있습니다 :

[email protected]:~# gcc --version 
gcc (Debian 6.1.1-11) 6.1.1 20160802 
Copyright (C) 2016 Free Software Foundation, Inc. 

내 단위 테스트에서 sanitizer 오류를 저장할 수있는 대체 방법이 있습니까?

답변

0

흠, log_path를 여러 번 사용했습니다. 작동하지 않는 경우 ASan github에 버그를보고하십시오 (가능한 한 최소한의 repro 사용).