Supported plugins

Plugin for MPI correctness checking functionality:

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:

    1. Compile your program whilst passing the -fsanitize=address compiler option to your compiler.

    2. 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:

    1. Add the following piece of code into your program:

      extern "C" int __lsan_is_turned_off() { return 1; }
      
    2. 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:

    1. Compile your application while you pass the -fsanitize=thread compiler option to your compiler.

    2. 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.