インテル® Inspector

メモリー/スレッド化エラーの解析ツール

  • 開発コストを削減 – アプリケーションをリリースする前にエラーとその原因を特定
  • 開発期間を短縮 – 再現性の低い競合やデッドロックを素早く検出・デバッグ
  • 簡単に解析可能 – 特殊なコンパイラーやビルドは必要はありません! 通常のビルドで使用できます

関連記事

関連記事一覧

サポート

ようこそ!! このサポートページでは、トレーニング、ドキュメント、よくある問い合わせ、サンプルコードなどを含む豊富なサポートリソースを提供します。メモリーとスレッドチェッカーは、いくつかのソフトウェア開発スイートに含まれるコンポーネントです。情報の多くは一般的ですが、特定のトピックもカバーされています。

インテル® ソフトウェア開発製品には年間の技術サポートが含まれています。技術サポートを利用するためには、製品をご購入いただいた後、製品登録およびユーザー登録が必要です。製品を登録されると、無料のソフトウェア・アップデートと 1 年間のサポートが提供されます。サポートサービスでアップデート・サービスとサポートを延長できます。


学ぶ:

  • トレーニング – さまざまなレベルの導入ガイド、ビデオ、チュートリアル、オンライン・トレーニングおよび技術記事から学習できます。
  • ドキュメント – ユーザーおよびリファレンス・マニュアル、新機能、リリースノート。
  • FAQ – 製品に関するよくある問い合わせの質疑応答集
  • サンプルコード – 製品に含まれるそれぞれのツールの機能に関する実際のサンプルコードから学ぶことができます。

サポートが必要な場合:

トレーニング

導入ガイド:

高度な内容:

オンライン・トレーニング:

インテル® Inspector XE 機能の詳細を説明、過去のトレーニングを見る。

高度な内容:

  • チュートリアル: インテル® VTune™ Amplifier XE を使い始める方法。チュートリアルでは、アプリケーションに適用できる、エンドツーエンドのワークフローを説明します。
  • 詳しいビデオ: 高度なビデオでは専門家向けの使い方を説明します。

関連記事:


導入ビデオ

  • インテル® Inspector XE でスレッドとメモリーのエラーによる問題を検出してデバッグ (https://software.intel.com/en-us/articles/locate-and-debug-troublesome-memory-and-threading-errors-with-intel-inspector-xe):
    インテル® Inspector XE でスレッドとメモリーのエラーによる問題を検出してデバッグする方法を説明するビデオシリーズ: 動的解析はコード中の問題を検出する強力なツールですが、さらに詳しい情報を必要としますか? 正確に何が起こっているかすべてを見つけるには、発生するごとにステップ実行する必要があるでしょうか? メモリーとスレッド化の問題を特定しデバッグ: インテル® Inspector XE とデバッガーを統合して、検出とデバッグが困難な問題を短時間で解決するのを支援する方法を紹介します。
  • インテル® Inspector XE のオンデマンド・リーク検知によるメモリーリーク検出の精度 (英語):
    インテル® Inspector XE は、メモリー・ベースラインの設定とリセットが可能になり、必要な時にプログラムからメモリーリークの情報を取得する機能を提供します。ここでは、関連性の低いコード領域の解析をスキップする方法、メモリー利用の増加やリークを検出する適切なツールの選択方法などを説明し、厄介なリークや QA プロセスで今後リークを見つけるために使用すべき解析レベルの選択について触れています。
  • インテル® Inspector 2013 for Systems を使用して組込みプログラミングにおける 3 つの一般的なエラーを検出する (英語):
    組込みシステム上でのプログラミングは、非常に挑戦的です。インテルの新しい組込み向けツールスイートであるインテル® System Studio は、組み込む向けプログラミングにおける開発者を支援する強力なツールです。このトレーニングでは、組込みプログラミングにおける 3 つの一般的なエラーを追跡するため、インテル® Inspector for Systems の正当性チェック機能を使用します。
  • インテル® Inspector XE の抑制を強化する (英語):
    このビデオでは、インテル® Inspector XE で利用可能な拡張された抑制機能について触れています。これには、マルチフレームの抑制、ユーザーが編集可能な抑制フォーマット、そしてサードパーティーの抑制ファイルの変換が含まれます。
  • インテル® Inspector XE と統合デバッガー機能を利用する (英語):
    インテル® Inspector XE 2013 により、エラーの原因となる実際の条件を優先付けすることを支援するインテル® Inspector とデバッガーを利用することができるようになりました。このビデオでは、インテル社のテクニカル・コンサルタント・エンジニア Holly Wilper が、問題を解決するため Visual Studio* のデバッガー統合を使用する 3 つの方法を紹介します。

チュートリアル

以下のチュートリアルは、インテル® Inspector の簡単な使い方手順を示します。インテル® Inspector チュートリアル・ページ (英語)で入手できます。チュートリアルでは、アプリケーションに適用できる、エンドツーエンドのワークフローを説明します。次のチュートリアルは、インテル® Inspector XE 2013 を使用して作成されましたが、インテル® Inspector XE 2015 にも適用できます。

入手可能なアプリケーションのサンプルの詳細については、サンプルコードタブをご覧ください。

3 つの短いチュートリアルで学ぶ

インテル® Inspector によるメモリーエラーの検出
時間: 10 – 15 分: 初期化されていないメモリー参照やメモリーリークなどのメモリーエラーを検出して解決します。

インテル® Inspector によるスレッドエラーの検出
時間: 10 – 15 分: データ競合などスレッドのエラーを検出し解決します。


過去のオンライン・トレーニング


関連記事

インテル® Parallel Studio XE スイート
インテル® System Studio スイート

ドキュメント

ユーザーおよびリファレンス・ガイド

ドキュメントをブラウズ (英語)

新機能とリリースノート

インテル® Advisor XE のソフトウェア要件、サポートされる OS 情報、新機能、そして既知の問題などが含まれます。

以前のバージョンや日本語ドキュメントについては、こちらをご覧ください。


ソフトウェア EULA (英語)

FAQ

よくある問い合わせ

  1. インテル® Inspector XE を使用するには、プログラムを再コンパイルしてリビルドする必要がありますか?

  2. インテル® Inspector XE は、すべてのメモリーとスレッド化のエラーを検知できますか?

  3. インテル® Inspector XE のスレッドチェック解析とメモリーチェック解析は、異なるプロセスで実行されますか?

  4. インテル® Inspector XE は、実行中のプログラムをアタッチしたりデタッチすることはできますか?

  5. インタラクティブなデバッグ機能とは何ですか?

  6. 簡単に解析を開始してデバッガーにアタッチすることはできますか?

  7. インテル® Inspector XE がコード位置の問題レポートを生成した時に、解析セッションと同時にデバッグを行いたいのですが (通常デバッガーの配下でアプリケーションを実行することができ、ブレークポイントを設定できます)。

  8. 解析中にデバッグを行うことはできますか?

  9. スレッドチェック機能は、プログラム中の潜在的なエラーを検出することはできますか?

  10. スレッドチェッカーは、プログラム内のアトミック性違反などの論理エラーを検出できますか? 例えば、同じクリティカル・セクションになければならない 2 つのメモリーアクセスが、異なるクリティカル・セクションから行われた場合です。

  11. 並列プログラミングにおいて、スレッド (もしくはメモリー) 解析は並列に実行に動作しますか? 言い換えると、解析は利用可能なマルチコア・ハードウェアを利用していますか?

  12. スレッドチェックはマルチコア・マシン上で行わなければいけませんか? 開発にはシングル・プロセッサーのシングルコア・マシンを使っています。このシングルコア上でスレッド化のバグを検出できますか?

  13. 開発にサードパーティーのコードを使用しています。インテル® Inspector XE は、サードパーティーのバイナリーを除外して、自分のコードのみに焦点を当てることはできますか?

  14. サードパーティーのモジュールを解析する気はなく、それらの問題を非表示にしたい。サードパーティー・ライブラリーの問題を非表示にできますか?

  15. プラグインモジュールを開発しています。どのようにしてインテル® Inspector XE で解析を行えますか?

  16. 独自の同期もしくはメモリー管理 API を使用しています。インテル® Inspector XE を利用できますか?

  17. メモリーチェック機能は、プログラム中の潜在的なエラーを検出することはできますか?

サンプルコード

インテル® Inspector には次のサンプルコードが含まれています。

圧縮された各サンプルを書き込み可能なディレクトリーにコピーして展開します。展開されたコンテンツには、サンプルのビルド方法と問題の解決方法を説明する README (テキスト形式) が含まれます。

注意

  • いくつかのサンプルコードには、対応するチュートリアルが用意されています。
  • サンプルを実行した結果が常に同じになるとは限りません。
  • サンプルは、インテル® Inspector の機能を説明するためだけに設計されており、任意のコードをチューニングするベスト・プラクティス示すものではありません。
  • デフォルトのインストール・ディレクトリーは、C:\Program Files (x86)\IntelSWTools\Inspector XE 2016 です (システムによっては、フォルダー名が Program Files(x86) ではなく Program Files になります)。

インストールされるサンプルの場所と概要

名称: tachyon_insp_xe
概要: 2D レイトレーシングを通してグラフィック・イメージのレンダリングを行います。
内容: C++ アプリケーションのメモリーとスレッドエラーを検出します。データ衝突:メモリーリーク、不正メモリーアクセス、メモリー割り当てと開放のミスマッチ、およびデータ競合。
場所: <install-dir>\<inspector-version>\samples\<locale>\C++\tachyon_insp_xe.zip
名称: banner
概要: コマンドラインで ABCDE バナーを表示。
内容: C++ アプリケーションのメモリーとスレッドエラーを検出します。データ衝突: メモリーリーク、不正メモリーアクセス、およびデータ競合。
場所: <install-dir>\<inspector-version>\samples\<locale>\C++\banner.zip
名称: parallel_nqueens_csharp
概要: 与えられたボードサイズで、nQueeen 問題を解決するいくつかのソリューションを計算します。
内容: C# アプリケーションのスレッドエラーを検出します。データ衝突:データ競合。
場所: \\samples\\C#\parallel_nqueens_csharp.zip
名称: nqueens_fortran
概要: さまざまなボードサイズで Nqueen の問題を解決します。
内容: Fortran アプリケーションのメモリーとスレッドエラーを検出します。データ衝突:データ競合、初期化されていないメモリーアクセス、メモリーリーク。
場所: \\samples\\Fortran\nqueens_fortran.zip