概要
製品の内容
新機能
動作環境
既知の問題および制限
テクニカルサポート
関連製品
インテル® スレッドチェッカーは、Win32*、Win64 および OpenMP* スレッドを使用するプログラム中のスレッドの安全性問題を検出し、開発者が安全なマルチスレッド・アプリケーションをより素早く作成できるようにします。スレッドチェッカーを使用すると、共有メモリーまたは同期の矛盾によって一貫性問題やデッドロックが起こるソースの場所が、関係するスレッドのコールスタックを含めて表示されます。
Microsoft* Windows* システムにインストールするインテル® スレッドチェッカー Windows 版。インテル® VTune(TM) パフォーマンス・アナライザー環境も含まれています。
インテル® コンパイラーでコンパイラー・ソース・インストルメント (-Qtcheck、-tcheck) を使用する場合、インテル® 64 アーキテクチャー対応のプラットフォームおよびインテル® Itanium® プロセッサー・ベースのプラットフォームではインテル・コンパイラー 9.1 またはそれ以上を使用する必要があります。
Linux* リモートデータ収集は Windows 製品の一部ではなくなりましたが、 互換性のためにコマンドラインから利用可能です。詳細は、カスタマーサポートにお問い合わせください。
以前のバージョンからアップグレードしている場合は、シリアル番号ではなくライセンスファイルを使用してください。
インテル® スレッドチェッカー 3.1 Windows 版では、以前のバージョンのデータと結果を表示することができます。ただし、以前のバージョンのプロジェクトを編集したり、実行することはできません。本リリースを使用して新しい結果を得るためには、新しいプロジェクトを作成する必要があります。
インテル・スレッドチェッカーでは、データ収集の Pause (一時停止) 機能は、メモリーアクセスの解析のみを抑制します。一時停止中も、データ収集を再開する際にメモリーアクセスが正確に解釈されるように、スレッド化 API の呼び出しの解析は続行されます。このため、データ収集を一時停止にしても、データ収集のパフォーマンスが著しく向上することはありません。
本リリースでは、Unicode のファイル名をサポートしていません。
スレッドチェッカーで使用するバイナリー・インストルメント・テクノロジーにより、一部のアプリケーションでは動作が変更されたり、異常終了することがあります。この場合、問題のあったモジュールのインストルメント・レベルを下げることで、解析を完了できることがあります。
スレッドチェッカーは、プロセス (実行ファイル) 間で共有されるスレッドや同期オブジェクトのスレッド化エラーを検出しません。
また、スレッドチェッカーは、既に実行中のプロセスを解析することはできません。起動するアプリケーション、または対象モジュールとして、実行ファイルを指定する必要があります。
スレッドチェッカーでは、ネイティブバイナリーの解析を行うことができますが、マネージドランタイム環境での実行を目的とする中間表現はサポートしていません。
ソース・インストルメントが使用される場合を除いて、アプリケーションのグローバル変数が競合状態にある場合、変数の定義情報は利用できません。
スレッドチェッカーは、[Activity Configuration (アクティビティーの設定)] ダイアログボックスの継続期間の設定を無視します。
スレッドチェッカーをアンインストールすると、[New Project (新規プロジェクト)] ダイアログボックスでプロジェクト・ウィザードが表示されなくなることがあります。この場合、インテル® VTune(TM) 環境を再起動して、プロジェクト・ウィザードをリストアしてください。
ReadFile() や CreateThread() など、システム API と同じ名前の関数を定義するソフトウェアでは、/Qtcheck を使用してソース・インストルメントを行うとリンクに失敗することがあります。また、スレッドチェッカーでそのようなソフトウェアを実行するとクラッシュすることがあります。この問題を回避するには、ソフトウェアでシステム API と同じ関数名を使用していないことを確認してください。
Microsoft Windows XP Professional x64 Edition またはコンパイラー・インストルメントを使用する Microsoft Windows Vista x64 Edition では、コンパイラー・スイッチの /MD または /MDd を使用してください。そうでない場合、“_” で始まる API を含む一部のシステム API が正しくモデル化されません。
インライン・アセンブリーを含む関数のソース・インストルメントを行う場合、VTune 環境以外で収集されたデータでは、正しくない診断結果が生成されることがあります。この問題を回避するには、/Qtcheck オプションを使用せずにコンパイルし、 VTune 環境でソフトウェアを実行してください。
インテル・スレッドチェッカー 1.0 のプロジェクトをバージョン 2.0 以上で初めて開く際に、"The following were present when this file was created but are not currently present: Intel® Thread Checker. There may be unexpected failures if you proceed." という警告ダイアログが表示されることがあります。続行しても問題が発生することはないので、このダイアログが表示されたら、[はい] をクリックしてください。
インテル・スレッドチェッカーの結果を表示する際、(F8 または [View (表示)] メニューから) [Get Tuning Advice (チューニング・アドバイスを表示)] は利用可能に見えるかもしれませんが、VTune 環境が不安定になることがあるため、使用しないでください。
Windows Server 2003 SP1 で VTune アナライザーを Microsoft Visual Studio 2005 に統合すると、オンラインヘルプの一部のリンクが正しく動作しなかったり、警告メッセージが表示されることがあります。この問題を解決するには、Microsoft Internet Explorer の [セキュリティ] 設定を次のように変更してください。
[関連項目] ボタンを含むヘルプトピックを開く際に、"このページの、ActiveX コントロールは、安全ではない可能性があり、ページのほかの部分に影響する可能性があります。ほかの部分に影響してもかまいませんか?" という Internet Explorer の警告メッセージが表示されることがあります。安全性に問題はないので、[はい] をクリックして 続行します。この問題は、Windows SP のインストールを起因とするレジストリー・エラーによって引き起こされます。この警告を表示しないようにするには、次の 2 つのコマンドを実行して、HTML ヘルプの ActiveX コントロールを登録してください。
regsvr32 /u %windir%\system32\hhctrl.ocx
regsvr32 %windir%\system32\hhctrl.ocx
Microsoft Visual Studio 環境からスレッドチェッカーを使用すると、[Cancel (キャンセル)] コマンドおよび [Stop (停止)] コマンドは、解析中のプロセスをシャットダウンしません。
また、一部の出力メッセージが生成されないことがあります。
Microsoft Visual Studio 2005、インテル C++ コンパイラー 9.1 Windows 版、または Microsoft Visual Studio 2005 に統合されたインテル® Visual Fortran コンパイラー 9.1 Windows 版を使用する場合、マニフェスト・ファイルを削除しないでください。マニフェスト・ファイルには、Microsoft Visual Studio 2005 インフラストラクチャーでビルドされたアプリケーションに必要な重要な情報が含まれています。マニフェスト・ファイルを削除すると、アプリケーションを実行できなくなり、インテル・スレッドチェッカーで解析できなくなります。
Microsoft DirectX* DirectShow* SDK: DirectShow 9.0 よりも古いバージョンを使用している場合は、QUARTZ.DLL のインストルメント・レベルを Module Imports (モジュールインポート) から API Imports (API インポート) へ手動で上げてください。アクティビティーを右クリックし、[Modify Collectors (コレクターの変更)] を選択して、次の操作を行います。 選択したアクティビティーの修正を確認する画面が表示されたら、[OK] をクリックします。[Configure Intel® Thread Checker (インテル® スレッドチェッカーの設定)] ダイアログで、[Instrumentation (インストルメント)] タブをクリックします。モジュールのリストから QUARTZ.DLL モジュールを参照します。そして、[Instrumentation Level (インストルメント・レベル)] ドロップダウン・リストをクリックして、インストルメント・レベルを変更し、[API Imports (API インポート)] を選択します。
/Qtcheck /fixed:NO オプションを使用してアプリケーションのビルドとリンクを行い、次のようなエラーが発生した場合、
myfile.obj : error LNK2017: 'ADDR32' relocation to 'main' invalid without /LARGEADDRESSAWARE:NO
LINK : fatal error
リンクコマンドに次のオプションを追加してください。
/LARGEADDRESSAWARE:NO
製品サポート Web サイト (http://support.intel.com/support/performancetools/threadchecker/ (英語)) では、FAQ、製品ドキュメント、製品エラッタ、一般的な問題の解決方法にアクセスすることができます。
テクニカルサポートを受けたり、製品のアップデートを入手するには、インテル®
インテル・プレミアサポート (https://premier.intel.com/) に問題を送信する場合、[Product Name] ドロップダウン・リストから [Intel® Thread Checker] を選択します。
問題を送信する際は、製品のビルド番号を提供してください。ビルド番号は、ThreadCheckerSupport.txt ファイルに記載されています。このファイルを開くには、[スタート] メニューから、[すべてのプログラム] (Windows 2000 の場合は [プログラム]) - [Intel® Software Development Tools (インテル® ソフトウェア開発ツール)] - [Intel® Thread Checker (インテル® スレッドチェッカー)] - [View Support and Build Ids (サポートおよびビルド ID の表示)] を選択します。
テクニカルサポートでは、インテル・プレミアサポート・アカウントを使用して、問題やその他ご意見が送信されてから、通常、1 営業日以内に回答をお送りしています。
プレミアサポートのログイン ID またはパスワードをまだ受け取っていない場合や紛失した場合、あるいはアカウントにアクセスできない場合は、https://registrationcenter.intel.com/support/ からお問い合わせください。
インテル® ソフトウェア開発製品に関する情報は、http://www.intel.co.jp/jp/software/products/ を参照してください。
関連製品には次のものが含まれます。
本資料で提供される情報は、予告なく変更されることがあります。インテルは本資料の内容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含まれていたとしても一切責任を負わないものとします。本資料およびこれに記載されているソフトウェアはライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するためのものではありません。本資料に掲載されている情報は、インテル製品の概要説明を目的としたものであり、インテルによる確約と解釈されるべきものではありません。
製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証(特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保証を含む)にも一切応じないものとします。インテル製品は、医療、救命、延命措置、重要な制御または安全システム、核施設などの目的に使用することを前提としたものではありません。
機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、その「機能が存在しない」あるいは「性質が留保付である」という状態を設計の前提にしないでください。これらの項目は、インテルが将来のために留保しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負いません。
本資料で説明されているソフトウェアには、不具合が含まれている可能性があり、公開されている仕様とは異なる動作をする場合があります。現在までに判明している不具合の情報については、インテルのサポートサイトをご覧ください。
Intel、インテル、Intel ロゴ、Intel Core、Itanium、Pentium、VTune、Xeon は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
(c) 2007 Intel Corporation.