Supported plugins
Plugin for MPI correctness checking functionality:
Intel Message Checker, part of the Intel Trace Analyser and Collector (Commercial with free evaluation: https://www.intel.com/content/www/us/en/developer/tools/oneapi/trace-analyzer.html) version 7.1
Plugins for the GNU and LLVM compiler sanitizers:
Address Sanitizer (also known as ASan)
This is a memory error detector for C/C++ code. It can be used to find various memory-related issues including use after free, buffer overflows, and use after return.
To enable the Address Sanitizer:
Compile your program whilst passing the
-fsanitize=address
compiler option to your compiler.Enable the Address Sanitizer plugin in Linaro DDT. For information how to enable a plugin, see Use a plugin.
When compiling with GNU 7 you must disable leak detection due to a conflict with
ptrace
and this aspect of the plugin.To disable leak detection, either:
Add the following piece of code into your program:
extern "C" int __lsan_is_turned_off() { return 1; }
Set the
LSAN_OPTIONS
environment variable at runtime, using:LSAN_OPTIONS=detect_leaks=0
Note
ASan is not compatible with memory debugging.
Thread Sanitizer (also known as TSan)
This is a data race detector for C/C++ code. A data race occurs when two different threads attempt to write to the same memory at the same time.
To enable the Thread Sanitizer:
Compile your application while you pass the
-fsanitize=thread
compiler option to your compiler.Enable the Thread Sanitizer plugin in Linaro DDT. For information how to enable a plugin, see Use a plugin.
Note
TSan is not compatible with memory debugging.