--- title: 'Intel Inspector' taxonomy: category: - docs external_links: process: true no_follow: true target: _blank mode: active --- [toc] ## 利用環境{#enviroment} ### 利用できるバージョン・システム{#version} バージョン | システムA | システムB | システムC -------------------------- | ----- | ----- | ----- Inspector XE 2021 (default) | ― | + | + Inspector XE 2020 | ― | + | + Inspector XE 2019 | ― | + | + Inspector XE 2018 | ― | + | + \+ : 利用可能 ― : 利用不可 ### 環境設定{#modules} バージョン | moduleファイル名 ------------------------- | --------------- 2021 | iutils/xe2021 2020 | iutils/xe2020 2019 | iutils/xe2019 2018 | iutils/xe2018 [Intelコンパイラ](/compilers/intel) が利用できる状態で,以下のようにmoduleコマンドを実行してください. ```nohighlight $ module load iutils ``` moduleコマンドの詳細は [Modules](/config/modules) をご覧ください. ## 利用方法{#usage} ### コマンド{#command} コマンド | 説明 ------------ | --------------------------- inspxe-gui | GUI版のInspectorを起動します. inspxe-cl | コマンドライン版のInspectorを起動します. ### オプション{#option} #### inspxe-cl の主なオプション オプション | 説明 -------------------------- | --------------------- -collect=_string_ | 検出を行うタイプを指定します. -app-working-dir=_string_ | ワーキングディレクトリを指定します. -r, -result-dir=_string_ | 結果を保存するディレクトリを指定します. #### inspxe-clの-collectで指定可能なタイプ タイプ | 説明 ----- | ----------------------------- mi1 | メモリリークを検出します. mi2 | メモリリークに加えて,その他のメモリ問題を検出します. mi3 | メモリリーク,その他のメモリの問題の場所を検出します. ti1 | デッドロックを検出します. ti2 | デッドロックに加えてデータ競合を検出します. ti3 | デッドロックの場所とでデータ競合を検出します. ## 利用例{#sample} ### GUIでの利用例{#sample_gui} 1. コンパイル Intel Inspectorを使用する場合,デバッグオプション **-g** を指定してコンパイルを行ってください.コンパイルオプションについては [こちら](http://software.intel.com/en-us/articles/compiler-settings-for-memory-error-analysis-in-intel-inspector-xe/) および [こちら](http://software.intel.com/en-us/articles/compiler-settings-for-threading-error-analysis-in-intel-inspector-xe/) も参考にしてください. ```nohighlight $ icc -g test.c ``` 2. Inspector の起動 [Exceed onDemand](/login/eod) で, **inspxe-gui** コマンドを実行するとInspectorが起動します. **xrun** コマンドの詳細は [会話型処理](/run/interactive) をご覧ください. ```nohighlight $ xrun inspxe-gui ``` ![](inspecrot01.png) 3. プロジェクトを作成する **File** => **New** => **Project** を選択すると以下のような画面が表示されますので,適切な **Project name** を入力して, **Create Project** を押してください. ![](inspector02.png) 4. プロジェクトの設定 続いて,Project Properties の画面が表示されますので,対象とするプログラムを **Application** で指定して **OK** を押してください.引数等が必要な場合はここで指定します. ![](inspecrot03.png) 5. チェック開始 Configure Analysis Type の画面が表示されますので,チェックの対象を指定した上で, **Start** を押してください. ![](inspecrot04.png) 6. チェック結果の確認 Inspectorでのチェックの結果が表示されます.この例では,メモリリークが1件発見されています. ![](inspecrot05.png) 7. 結果の詳細表示 上図で報告された問題をダブルクリックすると,以下のような詳細を確認することができます. ![](inspecrot06.png) ### CUIでの利用例{#sample_cui} 1. コンパイル Intel Inspectorを使用する場合,デバッグオプション **-g** を指定してコンパイルを行ってください.コンパイルオプションについては [こちら](http://software.intel.com/en-us/articles/compiler-settings-for-memory-error-analysis-in-intel-inspector-xe/) および [こちら](http://software.intel.com/en-us/articles/compiler-settings-for-threading-error-analysis-in-intel-inspector-xe/) も参考にしてください. ```nohighlight $ icc -g test.c ``` 2. チェックの実行 CUI版のInspectorは **inspxe-cl** コマンドで利用できます.この例では,ワーキングディレクトリと結果出力先のディレクトリを指定してメモリリークおよびその他のメモリの問題の場所を検出しています. **tssrun** コマンドの詳細は [会話型処理](/run/interactive) をご覧ください. ```nohighlight $ tssrun inspxe-cl -collect=mi3 -app-working-dir=./work -r=./result $PWD/a.out Used suppression file(s): [] 1 new problem(s) found   1 Memory leak problem(s) detected ``` 3. 結果の確認 チェックの結果問題が発見された場合, [Exceed onDemand](/login/eod) で, **inspxe-gui** コマンドを実行し,GUI版のInspectorで結果を確認してください. **xrun** コマンドの詳細は [会話型処理](/run/interactive) をご覧ください. ```nohighlight $ xrun inspxe-gui ./result/result.inspxe ``` ![](inspector07.png) ## マニュアル{#manual} <!-- * [IntelR Inspector XE 2011 Documentation](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Inspector_XE_2011/en/documentation_inspector_xe.htm) * [IntelR Inspector XE 2013 Documentation](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Inspector_XE_2013/en/documentation_inspector.htm) --> * [Intel Inspector XE 2016 Documentation](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Inspector_XE_2016/en/documentation_inspector.htm) * [Intel Inspector XE 2018 Help](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Inspector_XE_2018/index.htm) * [Intel Inspector XE 2019 User Guide](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/intel_parallel_studio_xe_2019_3/en/inspector/inspector_user_guide_linux_index.htm)