Я хотел бы запустить мой блок тестирования с -fsanitize=address,undefined
и записать все ошибки sanitizer в файл report.txt
. По умолчанию все ошибки sanitizer записываются в stdout, однако программное обеспечение также записывает информацию в stdout, поэтому это затрудняет обнаружение ошибок. Я пробовал:Как настроить вывод отчетов ASAN/UBSAN
export ASAN_OPTIONS="log_path=asan.log"
./mytests
И я также попытался вызова API C перед запуском тестов:
#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.
Есть ли альтернативный метод, который я могу сохранить ошибка дезинфицирующего из моих модульных тестов где-нибудь?