Intel® Thread Checker limited support with statically linked C++ runtime library

Intel Thread Checker doesn't support applications which have statically linked C++ runtime libraries. In order to support C++ exception propagation in the instrumented binary image, Thread Checker requires __cxa_rethrow and __cxa_begin_catch functions to be exported. These functions are not exported in statically linked applications.

If the C++ runtime library is statically linked in an application, Thread Checker will stop the analysis with the following error message:


terminate called after throwing an instance of '<Exception Description>'

Application finished


When analyzing an application with Thread Checker, it is recommended to dynamically link the standard C++ runtime library.  You can also check if your application includes any options (e.g: Intel® C++ Compiler -cxxlib-nostd option) which prevent the compiler from linking with the standard C++ runtime library.

For more complete information about compiler optimizations, see our Optimization Notice.