インテル® Inspector 2017 for Linux* 入門ガイド

インテル® Inspector は、Windows* および Linux* オペレーティング・システムでシリアル/マルチスレッド・アプリケーションを開発しているユーザー向けの、動的メモリー/スレッドエラー検証ツールです。スタンドアロンまたは以下の製品の一部として利用できます。
本ページは、インテル® Inspector を Linux ホスト OS で使用するためのアプリケーションに適用できるエンドツーエンドのワークフローを要約した入門ガイドを抜粋したものです。

製品概要

インテル® Inspector は、スタンドアロン製品として、または次のスイートのコンポーネントとして利用できます。

主な機能:

  • スタンドアロン GUI、Microsoft* Visual Studio* プラグイン、およびコマンドライン操作環境

  • 事前に設定された解析設定 (設定可能な設定を含む)、解析範囲とコストを制御可能なカスタム解析設定を作成する機能

  • 注意が必要な項目に注目できるように、問題を優先順位付けおよびフィルター (追加/除外) して、個々の問題、問題の発生回数、コールスタック情報を表示

  • 注意が必要な問題に注目できるように問題の抑制をサポート (以下の機能を含む)
    • スタックベースの抑制ルールの作成
    • サードパーティーの抑制ファイルをインテル® Inspector の抑制ファイル形式に変換
    • テキストエディターで抑制ファイルを作成および編集

  • 解析中に問題を詳細に調査できるインタラクティブ・デバッグ機能

  • 問題を何度も調査しないで済むように問題の状態を保存

  • 豊富なメモリーエラーの報告 (オンデマンドのメモリーリーク検出を含む)

  • アプリケーションが予想よりも多くのメモリーを使用しないようにメモリー使用量の増加を測定

  • データ競合、デッドロック、ロック階層違反、クロススレッド・スタック・アクセスなどのエラー検出 (スタックのエラー検出を含む)

  • インテル® ソフトウェアのアップデートのダウンロードおよびインストール、インストールしたソフトウェアの更新状況の管理、シリアル番号のアクティベーション、インテル® ソフトウェアの最新ニュースの入手を行うインテル® Software Manager


必要条件

インテル® Inspector を使用して、C++ および Fortran バイナリーのデバッグモデルとリリースモデルのメモリー/スレッドエラーを解析することができます。最も正確で完全なインテル® Inspector の解析結果が得られるアプリケーションを作成するには、以下の操作を行います。

追加の操作:

  • インテル® Inspector 環境の外部でアプリケーションを実行して確認します。

  • テキストエディターに EDITOR または VISUAL 環境変数を設定していることを確認します。

  • 以下のいずれかの操作を行って環境を設定します。

    • 以下のいずれかの source コマンドを実行します。

      • csh/tcsh ユーザーの場合: source <inspector-install-dir>/inspxe-vars.csh
      • bash ユーザーの場合: source <inspector-install-dir>/inspxe-vars.sh

    デフォルトのインストール・パス <inspector-install-dir> は以下のとおりです。

      • /opt/intel/ (root ユーザーの場合)
      • $HOME/intel/ (root 以外のユーザーの場合)

    • <inspector-install-dir>/bin32 または <inspector-install-dir>/bin64 をパスに追加します。

    場合によっては、 /psxevars.csh または /psxevars.sh コマンドを実行します。デフォルトのインストール・パス は以下のとおりです。

  • /opt/intel/ (root ユーザーの場合)

  • $HOME/intel/ (root 以外のユーザーの場合)


詳細は、インテル® Inspector ヘルプの「Building Applications (アプリケーションのビルド)」(英語)を参照してください。


はじめに

インテル® Inspector を使用するには、以下の操作を行います。

インテル Inspector 2017 for Linux 入門ガイド - はじめに



インテル® Inspector の起動

nspxe-gui コマンドを実行します。

コマンドライン・インターフェイスの場合は、inspxe-cl コマンドを実行します。(ヘルプを表示するには、コマンドラインに -help オプションを追加します。)

 


プロジェクトの選択/作成

インテル® Inspector はプロジェクト・ベースで処理を行うため、解析機能を有効にするには、プロジェクトを作成するか既存のプロジェクトを開く必要があります。

解析プロジェクトには、以下のような項目が含まれます。

  • コンパイルされたアプリケーション
  • 抑制ルールと検索ディレクトリーを含む、設定可能な属性のコレクション
  • 解析結果のコンテナー

詳細は、インテル® Inspector ヘルプの「Choosing Projects (プロジェクトの選択)」(英語) を参照してください。



プロジェクトの設定

データセットのサイズとワークロードは、アプリケーションの実行時間と解析速度に直接影響します。

最良の結果を得るには、スレッドあたり最小から中程度のワークでスレッドを作成する、小さく、代表的なデータセットを選択します。

目的: 各タスク内の冗長な計算をコードカバレッジに必要な最小限の数に抑えつつ、できるだけ短い実行時間で、できるだけ多くのパスと最大限のタスク (並列アクティビティー) 数を実行します。

数秒実行するデータセットが最適です。すべてのコードが確実に検査されるように、追加のデータセットを作成します。


詳細は、インテル® Inspector ヘルプの「Configuring Projects (プロジェクトの設定)」(英語) を参照してください。



解析の設定

インテル® Inspector には、解析範囲とコストを制御可能な、事前に設定されたメモリーとスレッド解析タイプ (およびカスタム解析タイプ) が用意されています。範囲を狭くすると、システムの負荷は低くなります。範囲を広くすると、システムの負荷は高くなります。

ヒント: 解析タイプを繰り返し使用します。狭い範囲で開始して、アプリケーションが正しくセットアップされていることを確認し、予想解析時間を設定します。さらに多くの答えが必要で増加するコストを許容できる場合のみ、範囲を広げます。


詳細は、インテル® Inspector ヘルプの「Configuring Analyses (解析の設定)」(英語) を参照してください。



解析の実行

解析を実行すると、インテル® Inspector は以下の操作を行います。

  • アプリケーションを実行します。
  • 処理が必要な可能性のある問題を特定します。
  • 結果から問題を収集します。
  • シンボル情報をファイル名と行番号に変換します。
  • 抑制ルールを適用します。
  • 重複を解決します。
  • 問題セットの書式を設定します。
  • 解析設定のオプションに応じて、インタラクティブ・デバッグ・セッションを起動します。

詳細は、インテル® Inspector ヘルプの「Running Analyses (解析の実行)」(英語) を参照してください。



問題の選択

解析中は、インテル® Inspector は検出した順に問題を表示します。解析が完了した後、インテル® Inspector は以下の操作を行います。

  • 検出した問題を問題セットにグループ化します (グループ化した後も、個々の問題と問題の発生回数は表示できます)。
  • 問題セットに優先順位を付けます。
  • フィルターを適用して注意が必要な問題セットに注目します。

インテル Inspector 2017 for Linux 入門ガイド - 問題の選択


詳細は、インテル® Inspector ヘルプの「Choosing Problems (問題の選択)」(英語) を参照してください。



結果データの解釈と問題の解決

生産性を向上する以下の機能を使用します。


目的

機能

解析中/解析完了後

結果データを解釈する

  • 解析中
  • 解析完了後

注意が必要な問題に注目する①

重要度レベル

詳細は、インテル® Inspector ヘルプの「Severity Levels (重要度レベル)」(英語) を参照してください。

  • 解析中
  • 解析完了後

注意が必要な問題に注目する②

状態

詳細は、インテル® Inspector ヘルプの「States (状態)」(英語) を参照してください。

  • 解析完了後

注意が必要な問題に注目する③

  • 解析完了後

問題を解決する

デフォルトエディターへの直接アクセス

詳細は、インテル® Inspector ヘルプの「Editing Source Code (ソースコードの編集)」(英語) を参照してください。

  • 解析中
  • 解析完了後

トレーニングとドキュメント

注意:
デフォルトのインストール・パス <inspector-install-dir> は、C:\Program Files (x86)\IntelSWTools\ です (システムによっては、フォルダー名が Program Files (x86) ではなく Program Files になります)。 以下の環境を使用してドキュメントを表示した場合、既知の問題が発生することがあります。

Microsoft* Windows Server* 2012 システム: 信頼済みサイトのポップアップが表示される。解決方法: [ツール] > [インターネット オプション] > [セキュリティ] タブの信頼済みサイトのリストに about:internet を追加します。ドキュメントの表示が完了したら、追加した項目を削除できます。

Microsoft* Internet Explorer* 11 ブラウザー: 目次でトピックを選択してもトピックが表示されない。解決方法: [ツール] > [インターネット オプション] > [セキュリティ] タブの信頼済みサイトのリストに http://localhost を追加します。ドキュメントの表示が完了したら、追加した項目を削除できます。

Microsoft Edge* ブラウザー: Visual Studio* IDE から状況依存 (F1) ヘルプを使用して特定の関数/機能のヘルプを表示すると、関数/機能の説明に関連するトピックではなく対応するドキュメントのタイトルページが表示される。解決方法: Visual Studio* IDE の設定でデフォルトのブラウザーを変更します。

Microsoft Edge* ブラウザー: ペインがすべて表示されず適切なスタイルシートが適用されない。解決方法: [<...>] をクリックして [Internet Explorer で開く] を選択します。



ドキュメント/リソース

説明

初心者から上級者まで、さまざまなユーザー向けのトレーニングをオンラインで提供しています。ビデオ、ガイド、注目のトピック、過去のイベントおよびウェビナー、開催予定のイベントおよびウェビナー、その他の情報へのリンクが含まれています。

説明、テクニカルサポート、既知の制限を含む、インテル® Inspector についての最新情報が含まれています。このドキュメントには、システム要件、インストール手順、コマンドライン環境の設定に関する情報も含まれています。

サンプル・アプリケーションの圧縮ファイルを書き込み可能なフォルダーにコピーした後、ツールを使用してファイルを展開します。サンプルを Visual Studio* 環境にロードするには、.sln ファイルをダブルクリックします。

サンプルは、インテル® Inspector の操作方法を習得するのに役立ちます。サンプルは、個別の圧縮ファイルとして \samples\en\ 以下にインストールされます。サンプル・アプリケーションの圧縮ファイルを書き込み可能なフォルダーにコピーした後、ツールを使用してファイルを展開します。展開されるコンテンツには、サンプルのビルド方法と問題の修正方法を説明した README が含まれます。サンプルを Visual Studio* 環境にロードするには、.sln ファイルをダブルクリックします。

チュートリアルでは、C++ および Fortran のサンプル・アプリケーションを使用して、初期化されていないメモリーへのアクセス、メモリーリーク、およびデータ競合を検出して修正する方法を説明します。

ヘルプは、インテル® Inspector の主要ドキュメントです。