Intel® Inspector XE 2011 是新一代的内存和线程检查工具,含图形界面以方便分析结果。但有时我们基于二点原因需要使用命令行来分析:
1.含图形界面的工具增加应用程序的负载
2.用户需要做自动(回溯)内存和线程分析的工作(Run Script),及产生报告
准备工作:
Windows环境下:Command Prompt > $Inspector XE 2011\inspxe-vars.bat
Linux环境下: source $inspector_xe_2011/inspxe-vars.sh
命令行句法
inspxe-cl action [action-options] [global-options]
解释
<action> 表示动作,通常每个命令都含一个动作。可以是下列之一:collect, command, create-suppression-file, finalize, help, import, knob-list, report, version
[action-options] 使用动作参数,通常每个动作可带一个,多个或不带命令参数。有下列几种:auto-finalize | no-auto-finalize, compiler-root, csv-delimiter, discard-suppressed-problems | no-discard-problem, executable-of-interest, filter-include, format, mrte-mode, previous-result, report-output, result-dir, search-dir, sort-asc, sort-desc, suppression-file, suppressions 等
[global-options] 修改此参数,作用于所有的动作。有下列几种:log-dir, option-file, quiet, user-data-dir, verbose
<application> 表示被分析的应用程序
[application-options] 是指应用程序的参数
应用实例
- 检查版本号:inspxe-cl -version
- 列出分析类型可附加的的参数:inspxe-cl –knob-list mi2; inspxe-cl –knob-list ti3
- 仅仅检查内存泄漏,结果放在指定目录:inspxe-cl -collect mi1 -result-dir myRes -- ./tachyon.find_and_fix_memory_errors dat/simpleballs.dat
- 产生suppression文件 mysup.sup ,根据以上结果:inspxe-cl -create-suppression-file mysup -result-dir myRes
- 利用suppression 文件mysup.sup, 过滤掉已知错误:inspxe-cl -collect mi2 -suppression-file mysup -result-dir myRes1 -- ./tachyon.find_and_fix_memory_errors dat/simpleballs.dat (注:这个功能特别有用,在测试过程中特别关注新发现的错误。)
- 报告错误:inspxe-cl -report summary -r myRes; inspxe-cl -report problems -r myRes1
- 产生错误输出的格式,可以是csv, text, xml :inspxe-cl -report problems -r myRes1 -format xml
- CSV格式的间隔(缺省是逗号):inspxe-cl -report problems -r myRes -format csv -csv-delimiter=";"
- 检查线程错误:inspxe-cl -collect ti3 -result-dir myRes2 -- ./tachyon.find_and_fix_threading_errors dat/simpleballs.dat
- 输出线程错误结果:inspxe-cl -report problems -r myRes2
以上这些例子虽不能涵盖命令行的全部功能,但也基本够用。
二点说明:
1. Inspector XE 不支持attach to process模式。
2. 如果Launch的不是application, 而是脚本文件。用户必须指定感兴趣的模块。如: inspxe-cl -collect mi2 -executable-of-interest myprogram -- test.sh
