インテル® Inspector 2018

C/C++、Fortran アプリケーション開発者向けのメモリー/スレッド化エラー検出ツールです。
インテル ® Parallel Studio XE Professional Edition 以上に同梱されます。
関連情報
[お知らせ一覧]

より少ないコストで信頼性の高いアプリケーションを開発

インテル® Inspector は、 Windows* および Linux* OS 上で使用でき、C、C++ および Fortran アプリケーションのメモリーエラーとスレッド化エラーを容易に検出します。

特殊なコンパイラーやビルドの必要はありません。通常のデバッグもしくはリリースビルドのバイナリーを使用できます。グラフィック・ユーザー・インターフェイスもしくは、コマンドラインによる自動回帰テストが可能です。GUI は、Windows* と Linux* OS 上のスタンドアロンで利用でき、Windows* では Microsoft* Visual Studio* に統合できます。生産性を上げ、コストを抑えつつ早期に製品を市場へ投入できます。

メモリーエラー

  • メモリーリーク
  • メモリー破壊
  • 割り当てと解放の API ミスマッチ
  • 一貫性のないメモリー API の利用
  • 不正なメモリーアクセス
  • 初期化されていないメモリーの読み込み

スレッド化エラー

  • データ競合
  • ヒープ競合
  • スタック競合
  • デッドロック

製品紹介資料

インテル® Parallel Studio XE

製品概要、新機能、各エディションの違いやコンポーネント、パフォーマンス、お客様の声などをご紹介しています。

PDF ブラウザで表示

スイート製品に同梱

インテル® Inspector は単体販売しておりません。以下製品に同梱されます。

インテル® Parallel Studio XE

アプリケーションの高速化、安定化を支援するスイート製品です。Professional Edition 以上にインテル® Inspector が同梱されます。

インテル® System Studio

組込み/モバイルデバイス向けシステムの電力効率、パフォーマンス、信頼性向上を支援するスイート製品です。Professional Edition 以上にインテル® Inspector for Systems が同梱されます。

バージョン 2018 新機能

主に以下の変更・機能が追加されました。
詳細は、 リリースノートおよびインテル社公開の情報を参照ください。

  • C++17 std::shared_mutex および Windows SRW Locks のサポート。読み取り/書き込みの同期プリミティブを持つアプリケーションのスレッディング・エラー解析を可能にします。

  • 誤検出の低下

  • Windows* SRW ロックを追加

  • すべてのライセンスタイプで、cross-OS 解析をサポート

  • Microsoft Visual Studio* 2017 のサポートおよび統合

  • インテル® Xeon® スケーラブル・プロセッサーのサポート

  • Microsoft Windows Server* 2016 のサポート

  • Fedora* 26 のサポート

  • Ubuntu* 17.04 のサポート

  • SUSE* Linux Enterprise Server* 12 SP2 のサポート

  • Debian* 9 のサポート

  • バグの修正

コストを節約し、信頼性の高いアプリケーションを提供

インテル® Inspectorは、Windows および Linux 上で動作する C、C++ および Fortran アプリケーション用の使いやすいメモリー/スレッド化エラーのデバッガーです。早期にエラーを見つけ、修正コストを節約します。

特別なコンパイラーやビルドは必要ありません。通常のデバッグまたはプロダクション・ビルドを使用するだけです。

グラフィカル・ユーザー・インターフェイスで使用でき、またコマンドラインで回帰テストを自動化することも可能です。 ユーザーインターフェイスは、Windows と Linux の両方でスタンドアロンで使用することも、Microsoft Visual Studio と統合することもできます。

生産性を高め、コストを削減し、市場投入までの期間を短縮します。

インテル® Inspector は、インテル® Parallel Studio XE およびインテル® System Studio ツールの一部として提供されています。製品には、サポートサービスが含まれます。

開発期間を短縮 – 再現性が低く非決定論的エラーを検出してデバッグ

動的解析では、複雑すぎて静的解析では検出できない微妙な欠陥や脆弱性を明らかにします。静的解析とは異なり、デバッガーの統合により問題を診断して根本的な原因を見つけることができます。インテル® Inspector は、実行時にエラーが発生しなかった場合でも、再現性のないエラーや非決定的なエラーを検出できます。

図のような競合状態は、非決定論的であるためツールなしでの診断は非常に困難です。毎回発生するとは限りません。 インテル® Inspector は、競合とデッドロックを検出し、エラーが発生する前にデバッガーでブレークします。

簡単に解析可能 – 特殊なコンパイラーやビルドは必要はありません!
通常のデバッグもしくは最適化ビルドを使用

他のメモリーやスレッド解析ツールとは異なり、インテル® Inspector は分析のための特殊なビルドや再コンパイルを必要としません。通常のデバッグもしくはリリースビルドを利用します (解析結果をソースコードにマップするためシンボルが必要です)。開発者のワークフローを速く、そして簡単にするだけでなく、信頼性と正確性を向上させます。

これは、インテル® Inspector の動的なバイナリーのインストルメントにより可能となります。ほかの静的コンパイルベースのインストルメント技術は、動的に生成されたもしくはリンクされたコードでは困難です。インテル® Inspector は、ソースコードのないサードパーティーから提供されるライブラリーを含むすべてのコードを検査できます。

メモリー/スレッド化エラーを検出

メモリーリーク、メモリー破壊および不正アクセスなどのエラーは、ツールなしでは特定が困難です。競合やデッドロックなどのスレッドエラーは、非決定論的で再現性が低いためさらに検出が困難です。インテル® Inspector はエラーを検出して、決定論性のあるデバッグを可能にします。スレッドとメモリーエラーの詳細は、以下をチェックしてください。

動的インストルメント: 簡単で、信頼性が高く、正確

他のメモリーやスレッド解析ツールとは異なり、インテル® Inspector は分析のため特殊なビルドおよび再コンパイルを必要としません。通常のデバッグもしくはリリースビルドを利用します (解析結果をソースコードにマップするためシンボルが必要です)。開発者のワークフローを速く、そして簡単にするだけでなく、信頼性と正確性を向上させます。他の静的コンパイルベースのインストルメント技術は、動的に生成されたもしくはリンクされたコードと競合します。インテル ® Inspector は、ソースコードのないサードパーティーから提供されるライブラリーを含むすべてのコードを検査できます。

C、C++ および Fortran アプリケーションのチェックとデバッグ

Fortran のレガシーコードを使用していますか? ソースコードのないライブラリーを使用していますか? 問題ありません。すべて動作します。動的インストルメントでは、ソースコードのないサードパーティーから提供されるライブラリーを含むすべてのコードの検査が可能です。

検査レベルを選択 – 高速に行うか、詳細を調査するか

最初のレベルの解析は、非常に低オーバーヘッドです。高速であるため、開発中に使用します。第 2 レベルは、時間がかかりますがより詳しい情報を取得できます。新しい機能を実装した際のチェックに向いています。第 3 レベルは、回帰テストとバグの検出に最適です。

デバッガー・ブレークポイントは簡単に診断

デバッガー・ブレークポイントは、エラーが発生する前にデバッガーに移行することで、困難なエラーの診断を可能にします。変数を調べて、問題を診断するため他のスレッドを見てください。Visual Studio*、GDB そして IDB デバッガーがサポートされます。プロジェクトの "Configure Analysis Type" で、"Enable debugger when problem detected" をチェックしてください。

メモリー使用量の増加を段階的に診断

スレッド実行中のメモリー使用量の増加をグラフィカルに表示。開発者はメモリー増加の原因を知ることができ、解決するのに役立つコールスタックとコードスニペット情報を提供します。

ヒープの伸長、増分リークレポートの解析

アプリケーションを実行し続けると増加するメモリー利用が、何を引き起こしているか知るのは複雑です。ヒープ伸長解析は、この原因特定に役立ちます。特定の基準から解放されず、増え続けるヒープ割り当てのレポートを取得します。同様に、特定の基準から増加するリークレポートを取得できます。

ポーズ/レジュームは解析をスピードアップします

解析する範囲を限定することで解析をスピードアップします。問題の疑いがある実行でのみ解析を有効にします。インストルメントのオーバーヘッドは、コードセクション中の無関係な実行から引き起こされます。これは、エラーに到達するまで長い時間がかかる状況では、非常に強力な機能ですが、利用には十分注意してください。

誤認識されたエラーを抑制し、共有しましょう

問題とならない、もしくは誤認識されたエラーを検出した際は、抑制リストに加えることで、次回から調査の必要が無くなります。複数のリストがサポートされ、他のプロジェクトの開発者と共有できます。コード中の該当しないエラーの抑制を避けるため、プライベートな抑制リストを作成します。モジュール全体を抑制することで、収集時間を短縮できます。

チームでの協調

各エラーレポートには、ステート情報 (新規、確認済み、解決済み、未解決、回帰、問題なし、繰り越し) が含まれ、種別に分類し優先順位をつけるのに役立ちます。

フィルターでエラーリストを管理

特定ソースのエラーのみをチェックしますか? エラーリストをクリックするだけで、特定のエラーのみを表示できます。新しく見つかったエラーから、重要度の高いエラーのみを表示しますか? クリックするだけで表示できます。フィルター処理は、多くのカテゴリー向けに用意されています。重要度、問題のタイプ、ステート、モジュールなど、必要のない情報をフィルターで除き、重要なものだけに注目できます。

インテル® Xeon Phi™ コプロセッサー製品向けのソフトウェアの検査

インテル® Inspector は、インテル® Xeon Phi™ コプロセッサーで実行中のアプリケーションを直接解析することはできませんが、インテル® Xeon Phi™ コプロセッサー向けのソフトウェアを解析できます。ホスト上のマルチコア・プロセッサー上でアプリケーションを実行して、インテル® Inspector で解析することで、インテル ® Xeon Phi™ コプロセッサーで実行した時のメモリーエラーやスレッド化エラーを検知できます。

解析範囲の制限

誤認識されたエラーを排除し、API を使用して分析対象としないメモリーを通知することで、解析をスピードアップします (例えば、同期データ構造体など)。

少ない偽陽性、優れたエラーメッセージ

インテル® Inspector は、インテル® TBB、インテル® Cilk™ Plus そして OpenMP* の並列プログラミング・モデルのセマンティクスを解釈できます。これにより、作業時間を短縮できます。

  • ほかのツールよりも正確に偽陽性をレポートできます。
  • エラーに関しては、難解な内部ラベルなどではなく、ソースコードに基づいて解りやすく説明されます。

複数 OS (Windows* および Linux*): 同じユーザー・インターフェイス

Windows* と Linux* の両方で開発していますか? 双方の OS 環境で同じ解析ツールを簡単に利用したくはないですか? インテル® Inspector は、Windows* と Linux* の両方で同じユーザー・インターフェイスを提供します。Windows* 環境では、スタンドアロンか Microsoft* Visual Studio* 統合環境で利用できます。

MPI アプリケーションのメモリーとスレッド化エラーを解析

インテル® Inspector は、MPI アプリケーションのメモリーとスレッド化のエラーを検知できます。単一の共有メモリーシステムで初期解析を行うと、多くのエラーを特定でき、追加の解析をクラスター上で実行できます。解析結果は、ランクごとにソートされます。

ポインターチェッカー – 診断が困難な領域外アクセスを検知

Windows* ポインターチェッカー

Linux* ポインターチェッカー

ポインターチェッカーは、割り当てられた領域を超えるメモリーアクセスを検知するコンパイラー・ベースの診断です。ダングリング・ポインターやバッファー・オーバーフローなどを見つけます。例外が発生した場合、デバッガーへ移行してブレークすることで診断をスピードアップします。ポインターチェッカーを有効にして (/Qchecked-pointers – Windows*、-checked-pointers – Linux*) コンパイルし、コードを実行すると境界外メモリーアクセスが特定されレポートが生成されます。ポインターチェッカーには、インテル® コンパイラーが必要です。

製品セミナーや関連イベントをご紹介。

米インテル社の製品情報を日本語に翻訳して公開中。

アプリケーションの高速化、安定化を支援するスイート製品です。

組込み/モバイルデバイス向けシステムの電力効率、パフォーマンス、信頼性向上を支援するスイート製品です。

プロセッサー

インテル® プロセッサー、インテル® コプロセッサー、および互換プロセッサーでインテル® 命令セットを含むアプリケーションを分析

オペレーティング・システム
  • Microsoft Windows 7* SP1
  • Microsoft Windows Server* 2008 SP2 および 2008 R2 SP1
  • Microsoft Windows HPC Server 2008 および 2008 R2
  • Microsoft Windows 8*
  • Microsoft Windows 8.1*
  • Microsoft Windows 10*
  • Microsoft Windows Server* 2012、2012 R2 および 2016
  • Red Hat* Enterprise Linux* 6 および 7
  • CentOS* (上記の Red Hat* Enterprise Linux* バージョンと同等のバージョン)
  • Fedora* 24、25 および 26 (pangox-compat パッケージがインストールされている必要あり)
  • SUSE* Linux Enterprise Server* 11、12 および 12 SP 2
  • Debian* 7、8 および 9
  • Ubuntu* 14.04、16.04、16.10 および 17.04

※エンベデッド・エディションはサポートされていません。

開発ツールと環境

各プラットフォームの規格に準拠しているコンパイラー (Microsoft* コンパイラー、GNU* コンパイラー、インテル® コンパイラーなど) と互換性があります。

  • インテル® C/C++ XE コンパイラー 12.0 以上
  • インテル® (Visual) Fortran XE コンパイラー 12.0 以上
  • Microsoft Visual Studio* 2013
  • Microsoft Visual Studio* 2015
  • Microsoft Visual Studio* 2017 (インテル® Inspector 2017 Update 3 以降)
  • インテル® Fortran XE コンパイラー 12.0 以上 (Linux*)
  • GNU* C/C++ コンパイラー 3.4.6 以上 (Linux*)

GUI は、Windows* と Linux* スタンドアロンで利用でき、Windows* では Microsoft* Visual Studio* の上記のバージョンに統合できます。

特殊なコンパイラーやビルドの必要はありません。通常のデバッグもしくはリリースビルドのバイナリーを使用できます。

言語

C、C++、Fortran

並列プログラミング・モデル
  • インテル® TBB
  • Win32* スレッド (Windows*)
  • OpenMP* (インテル® OpenMP compatibility library を介して)
  • インテル® C++ コンパイラー 並列言語拡張
  • インテル® Cilk™ Plus (Windows*)
  • Microsoft PPL* (インテル® TBB を介して)
  • POSIX* スレッド (Linux*)
  • 最新の情報は、製品または評価版に同梱されているリリースノートを参照ください。

お知らせ

2017年 9月 14日、インテル® Inspector 2018 が同梱されるインテル® Parallel Studio XE 2018 の販売を開始しました。

過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2018 を無料でダウンロードしてご利用いただけます。

インテル社の方針により、2017年 9月 12日を以って、インテル® Inspector 単体製品のサポートサービス更新用製品「SSR (期限内更新用)」および「SSR (期限切れ更新用)」の販売を終了させていただきました。

2017年 9月 13日から 2018年 3月 30日までの期間限定で、サポートサービスが有効なインテル® Inspector 製品をお持ちのお客様限定で、インテル® Inspector をコンポーネントとして含むインテル® Parallel Studio XE Professional Edition 製品へ、大特価にてアップグレードいただけるお得な特別アップグレード製品を販売させていただいております。アップグレードの詳細は、 こちらのページをご覧ください。

インテル社の方針により、2014年 8月 26日 (火) を以って、インテル® Inspector 単体製品の新規ライセンスの販売を終息しました。

FAQ

いいえ。インテル® Inspector のメモリー/スレッド・チェック・ツールは、プログラムバイナリーを動的にインストルメントして解析します。プログラムを再コンパイルしたり、リビルドする必要はありません。エラーレポートがソースコードの場所に関連付けられるように、デバッグ情報を含むデバッグバイナリーまたはリリースバイナリーを使用することを推奨します。

通常、最高レベルの解析で実行するとアプリケーションのコードパスに存在するメモリーエラーやスレッド化エラーはすべて検出されますが、インテル® Inspector がプログラムのメモリー/スレッド化エラーをすべて検出できるという保証はありません。

インテル® Inspector のインタラクティブ・デバッグ機能を利用すると、標準デバッガーを使用して、インテル® Inspector で検出されたメモリー問題やスレッド問題を調査することができます。Microsoft ® Visual Studio® デバッガー (Windows ®) およびインテル® デバッガーと GNU* デバッガー (Linux*) をサポートします。

潜在的なエラーの範囲によります。スレッドチェック解析は動的で、実行されたコードのエラーのみ検出します。実行されないコードのエラーは検出しません。実行されたコードでは、スレッドチェックは、データ競合、クロススレッド・スタック・アクセス、潜在的なデッドロックのような潜在的なエラーを検出することができます。プログラムが正しい出力を生成している場合でもスレッドチェックがエラーを報告することがあるのはこのためです。

はい。メモリーチェックとスレッドチェックはどちらも、ターゲットの並列プログラムで使用されている利用可能なコアまたはハードウェア・スレッドで解析を実行します。一般に、解析のオーバーヘッドは適切にスケールし、ターゲット・アプリケーションのスケーリング係数に似ています。

インテル® Inspector は、シングルコア・マシン上でもスレッドエラーを検出することができます。プログラムで複数のスレッドを使用していれば、マルチコアマシンでスレッドチェックを実行する必要はありません。プログラムが Windows ® または POSIX* スレッド API を明示的に使用してスレッドを作成している場合、単一プロセッサー/シングルコア・マシン上で複数のスレッドを作成しても問題ありません。プログラムがインテル® TBB、OpenMP* プラグマ、インテル® Cilk™ Plus、その他のマシンの利用可能なコア数に基づいてスレッドを作成するタスク/スレッド化モデルを使用している場合、スレッド化モデルを使用して複数のスレッドを作成する必要があります。 もちろん、マルチコアマシンで実行するほうが、パフォーマンスは高くなります。

はい。スレッドチェックおよびメモリーチェックの GUI またはコマンドラインで、除外するモジュールを指定できます。 しかし、メモリーチェックでは推奨しません。サードパーティーのライブラリーを除外した場合、初期化されていないメモリーや不正なポインターがサードパーティーのライブラリーに渡されても、それらの使用が検出されません。このようなケースでは、問題はサードパーティーのライブラリーにはありません。

プラグインモジュールを解析するには、プラグインモジュールをロードして実行するアプリケーションをインテル® Inspector で実行する必要があります。モジュールの追加または除外オプションを使用して、インテル® Inspector がプラグインモジュールのみを解析するように指定できます。

追加のアノテーションがないと、カスタムメモリー管理 API やカスタム同期プリミティブを含むアプリケーションを解析したときに、インテル® Inspector が誤検出をレポートすることがあります。 インテル ® Inspector は、ソースコードにアノテーションを付けることで、解析に同期およびメモリー管理 API を通知する、API のセットを提供します。

いいえ。メモリーチェックはプログラムの解析中に発生したエラーのみ検出します。

インテル® レジストレーション・センターで操作します。
操作手順やよくあるご質問、トラブルシューティングは、インテル ® レジストレーション・センター操作マニュアルを参照ください。

»マニュアルはこちら

最新版、または旧バージョンのダウンロードは、インテル® レジストレーション・センターで行います。
詳細は以下ページを参照ください。

»製品登録 & ダウンロード

購入

技術情報

サポート