This getting started guide takes you through all the basic steps required to prepare your threaded software for data collection,and then generate and analyze data using Intel® Thread Checker.
This document presents examples of typical threading errors that can be detected by the Intel® Thread Checker such as data races and deadlocks. Separate but similar examples are provided for code on Windows* and Linux* systems. The discussion in this document focuses on Windows version of the code, however, the analysis is similar.
Intel® Thread Checker is a tool that locates software threading bugs, such as data races, stalls, and deadlocks. Thread Checker monitors your software's execution to detect hard-to-find and impossible-to-find intermittent errors whether or not they actually occurred during execution.
The Intel Thread Checker facilitates debugging of multithreaded programs by automatically finding common errors such as storage conflicts, deadlock, API violations, inconsistent variable scope, thread stack overflows, etc. The non-deterministic nature of concurrency errors makes them particularly difficult to find with traditional debuggers. Thread Checker pinpoints error locations down to the source lines involved and provides stack traces showing the paths taken by the threads to reach the error. It also identifies the variables involved.