概要
製品の内容
新機能
動作環境
既知の問題および制限
テクニカルサポート
関連製品
インテル® スレッドチェッカーは、Win32*、Win64 および OpenMP* スレッドを使用するプログラム中のスレッドの安全性問題を検出し、開発者が安全なマルチスレッド・アプリケーションをより素早く作成できるようにします。スレッドチェッカーを使用すると、共有メモリーまたは同期の矛盾によって一貫性問題やデッドロックが起こるソースの場所が、関係するスレッドのコールスタックを含めて表示されます。
Windows システムにインストールするインテル® スレッドチェッカー 3.0 Windows 版
新しいデータ収集オプション
解析の高速化
独立コマンドラインのサポート
インターフェイスの改良
インテル® コンパイラーでコンパイラー・インストルメンテーション (-Qtcheck) を使用する場合、インテル EM64T 対応プラットフォームおよびインテル® Itanium® プロセッサー・ベースのプラットフォームでは、インテル・コンパイラー 9.1 以上を使用する必要があります。
Linux* リモートデータ収集は Windows 製品の一部ではなくなりましたが、互換性のために現在でも、コマンドラインから使用するインテル® スレッドチェッカー Linux 版で利用可能です。詳細は、カスタマーサポートにお問い合わせください。
以前のバージョンからアップグレードする際、シリアル番号ではなく、ライセンスファイルを使用してください。
インテル・コンパイラー 9.0 Windows 版 (またはそれ以上) でコンパイルされ、インテル® スレッドチェッカー 3.0 で実行されたアプリケーションは、以前のバージョンのインテル・スレッド・チェッカーで実行できません。
クライアント・アプリケーションをインストールする際にカウント式 FLEXlm* ライセンスファイルを使用する場合、FLEXlm サーバーが実行中ではないか、あるいはインストール時に使われるライセンスファイルを使用して FLEXlm サーバーが実行中であることを確認してください。
インテル EM64T 対応システム上の Microsoft Visual Studio 2003 (またはそれ以上) から、インテル C++ コンパイラー 9.1 Windows 版で /Qtcheck を使用して 64 ビット・アプリケーションをコンパイルする前に、Microsoft Visual Studio 2003 の設定に次のパスを追加する必要があります。
C:\Program Files (x86)\Intel\VTune\Analyzer\Lib32e to Tools\Options\Projects\Library files
C:\Program Files (x86)\Intel\VTune\Analyzer\bin32e to Tools\Options\Projects\Executable files
C:\Program Files (x86)\Intel\VTune\Analyzer\include to Tools\Options\Projects\Include files
インテル® スレッドチェッカー 3.0 Windows 版では、以前のバージョンのデータと結果を表示することができます。ただし、以前のバージョンのプロジェクトを編集したり、実行することはできません。インテル® スレッドチェッカー 3.0 Windows 版を使用して新しい結果を得るためには、新しいプロジェクトを作成する必要があります。
インテル® スレッドチェッカーでは、データ収集の Pause (一時停止) 機能は、メモリーアクセスの解析のみを抑制します。一時停止中も、データ収集を再開する際にメモリーアクセスが正確に解釈されるように、スレッド化 API の呼び出しの解析は続行されます。このため、データ収集を一時停止にしても、データ収集のパフォーマンスが著しく向上することはありません。
本リリースでは、Unicode のファイル名をサポートしていません。
スレッドチェッカーで使用するバイナリー・インストルメンテーション・テクノロジーにより、一部のアプリケーションでは動作が変更されたり、異常終了することがあります。この場合、問題のあったモジュールのインストルメント・レベルを下げることで、解析を完了できることがあります。
スレッドチェッカーは、プロセス (実行ファイル) 間で共有されるスレッドや同期オブジェクトのスレッド化エラーを検出しません。
また、スレッドチェッカーは、既に実行中のプロセスを解析することはできません。起動するアプリケーション、または対象モジュールとして、実行ファイルを指定する必要があります。
スレッドチェッカーでは、ネイティブバイナリーの解析を行うことができますが、マネージドランタイム環境での実行を目的とする中間表現はサポートしていません。
アプリケーションのグローバル変数が競合状態にある場合、変数の定義情報は利用できません。
スレッドチェッカーは、[Activity Configuration (アクティビティーの設定)] ダイアログボックスの継続期間の設定を無視します。
スレッドチェッカーをアンインストールすると、[New Project (新規プロジェクト)] ダイアログボックスでプロジェクト・ウィザードが表示されなくなることがあります。この場合、インテル® VTune(TM) アナライザー環境を再起動して、プロジェクト・ウィザードをリストアしてください。
ReadFile() や CreateThread() など、システム API と同じ名前の関数を定義するソフトウェアでは、/Qtcheck を使用してソース・インストルメンテーションを行うとリンクに失敗することがあります。また、スレッドチェッカーでそのようなソフトウェアを実行するとクラッシュすることがあります。この問題を回避するには、ソフトウェアでシステム 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/developer/software/products/ を参照してください。
関連製品には次のものが含まれます。
本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するためのものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sales』に規定されている場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保証を含む) に関しても一切責任を負わないものとします。インテル製品は、医療、救命、延命措置、重要な制御または安全システム、核施設などの目的に使用することを前提としたものではありません。
インテル製品は、予告なく仕様が変更される場合があります。
機能や命令の中に「予約済み」または「未定義」と記されているものがありますが、その機能が存在しない状態や何らかの特性を設計の前提にしてはなりません。これらの項目は、インテルが将来のために予約しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負わないものとします。
本資料で説明されているソフトウェアには、不具合が含まれている可能性があり、公開されている仕様とは異なる動作をする場合があります。現在までに判明している不具合の情報については、インテルのサポートサイトをご覧ください。
本資料およびこれに記載されているソフトウェアはライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。本資料で提供される情報は、情報供与のみを目的としたものであり、予告なく変更されることがあります。また、本資料で提供される情報は、インテルによる確約と解釈されるべきものではありません。インテルは本資料の内容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含まれていたとしても一切責任を負わないものとします。ライセンス契約で許可されている場合を除き、インテルからの文書による承諾なく、本資料のいかなる部分も複製したり、検索システムに保持したり、他の形式や媒体によって転送したりすることは禁じられています。
Intel、インテル、Intel ロゴ、Itanium、Pentium、VTune、Xeon は、アメリカ合衆国およびその他の国における Intel Corporation またはその子会社の商標または登録商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
(c) Intel Corporation 2002-2006.