I would like to run my unit test suite with -fsanitize=address,undefined
and have all sanitizer errors be written to a report.txt
file. By default all sanitizer errors get written to stdout, however the software also writes info to stdout so this makes it difficult to detect errors. I tried:
export ASAN_OPTIONS="log_path=asan.log"
./mytests
And I also tried calling the C API before running tests:
#include <sanitizer/asan_interface.h>
__sanitizer_set_report_path("/tmp/asan.log")
However neither seems to work, all errors just get written to stdout. I am using Debian testing:
root@94e239ad460a:~# gcc --version
gcc (Debian 6.1.1-11) 6.1.1 20160802
Copyright (C) 2016 Free Software Foundation, Inc.
Is there any alternative method that I can save the sanitizer error from my unit tests somewhere?
Hm, I've successfully used log_path numerous times. If it does not work for you, please report a bug to ASan github (preferably with a minimal repro).
I realize that my binaries were not having read permissions. A simple chmod 500 <exe_path>
solved my problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With