次の手順は、スレッドアナライザでのマルチスレッドプログラムのトラブルシューティングプロセスを示しています。
データの競合の検出を行う場合、プログラムを計測します。
データの競合の検出またはデッドロック検出の実験を作成します。
実験結果を検討し、スレッドアナライザで明らかになったマルチスレッドプログラミングの問題が、正当なバグまたは影響のない現象であるかどうかを判断します。
本物のバグを修正し、入力データ、スレッド数、ループスケジュール、さらにはハードウェアなど、さまざまな要素を変更しつつ追加実験 (前述の手順 2) を作成します。これを繰り返すことで、決定論的ではない問題の突き止めに役立ちます。
前述の手順 1 から 3 については、以降のセクションで説明します。