Intel® Inspector Help
Intel Inspector Changes Under Evaluation |
Benefits |
---|---|
Increased number of preset analysis types |
Focus analyses on leaks, or memory access problems, or both. |
Split configuration setting |
Focus analyses on invalid memory accesses, or uninitialized memory reads, or both. |
Combined configuration setting and renamed configuration settings |
Make configuration options more intuitive. |
Increased number of configurable settings |
Fine-tune preset analysis types without creating custom analysis types. |
Old preset threading error analysis types (mi1, mi2, and mi3) still work, but only when using the inspxe-cl command.
Results produced using old preset analysis types are still accessible.
The following table shows the configuration settings (in alphabetical order) for each new preset memory error analysis type.
N/A (setting value) means not applicable for the preset analysis type (despite the setting value).
Configurable means you can change the configuration setting in the preset analysis type without creating a custom analysis type.
Renamed/split/combined configuration settings show previous manifestations.
Settings / Analysis Types |
Detect Leaks |
Detect Memory Access Problems |
Detect Leaks and Memory Access Problems |
Detect Memory Access Problems (Deep Dive) |
Detect Leaks and Memory Access Problems (Deep Dive) |
---|---|---|---|---|---|
Analyze stack accesses |
N/A (No) |
No |
No |
No (configurable) |
Yes (configurable) |
Defer memory deallocation (previously Byte limit before reallocation) |
N/A (No) |
No (configurable) |
No (configurable) |
Yes (configurable) |
Yes (configurable) |
Detect invalid memory accesses (split from Detect invalid/uninitialized accesses) |
No |
Yes |
Yes |
Yes |
Yes |
Detect leaks at application exit (previously Detect memory leaks upon application exit) |
Yes (configurable) |
No |
Yes (configurable) |
No |
Yes (configurable) |
Detect still-allocated memory at application exit (previously Report still-allocated memory at application exit) |
No (configurable) |
No |
No (configurable) |
No |
No (configurable) |
Detect uninitialized memory reads (split from Detect invalid/uninitialized accesses) |
No |
No (configurable) |
No (configurable) |
Yes (configurable) |
Yes (configurable) |
Enable memory growth detection (previously Enable interactive memory growth detection) |
No (configurable) |
No |
Yes (configurable) |
No |
Yes (configurable) |
Enable on-demand leak detection (previously Enable on-demand memory leak detection) |
No (configurable) |
No |
Yes (configurable) |
No |
Yes (configurable) |
Guard zone size (previously Guard zone byte size and now combined with Enable guard zones) |
N/A (32 bytes) |
32 bytes |
32 bytes |
32 bytes |
32 bytes |
Maximum number of leaks shown in result (previously Maximum memory leaks) |
100,000 |
N/A (100,000) |
100,000 |
N/A (100,000) |
100,000 |
Remove duplicates |
Yes |
Yes |
Yes |
Yes (configurable) |
Yes (configurable) |
Stack frame depth |
8 (configurable) |
8 (configurable) |
8 (configurable) |
16 (configurable) |
16 (configurable) |
The following table describes all configuration settings available for configuring memory error analyses. The configuration settings are listed in alphabetical order.
The following table identifies the appropriate <analysis_type> argument for the inspxe-cl collect option.
New Preset Analysis Type Name |
Corresponding inspxe-cl <analysis_type> Argument |
---|---|
Detect Leaks |
leak |
Detect Memory Access Problems |
access |
Detect Leaks and Memory Access Problems |
leak-access |
Detect Memory Access Problems (Deep Dive) |
access-deep |
Detect Leaks and Memory Access Problems (Deep Dive) |
leak-access-deep |
Various knob names have also changed to better correspond to renamed configuration settings. Use the following inspxe-cl commands to identify available knobs:
For the collect action: $ inspxe-cl -knob-list <analysis_type>
For the collect-with action: $ inspxe-cl -knob-list <collector>
For example:
$ inspxe-cl -knob-list leak
$ inspxe-cl -knob-list runmc
The following table identifies the default result and result directory name for each preset analysis type.
New Preset Analysis Type Name |
Preset Analysis Type Identifier |
Parsing Key |
---|---|---|
Detect Leaks |
r@@@ml |
m = memory analysis type l = leak c = memory access problem x = deep dive |
Detect Memory Access Problems |
r@@@mc |
|
Detect Leaks and Memory Access Problems |
r@@@mlc |
|
Detect Memory Access Problems (Deep Dive) |
r@@@mcx |
|
Detect Leaks and Memory Access Problems (Deep Dive) |
r@@@mlcx |
When you run an analysis to create a new result, the Intel Inspector automatically propagates state information from a baseline (previous) result to the newer result. By default, the Intel Inspector establishes a baseline result from the immediately previous result of the same analysis type; however, you can establish any baseline result you want (using the Options-State Management dialog box in the GUI or the baseline-result action-option in the inspxe-cl command tool).
To maintain your state assignments when you switch from old preset memory error analysis types to new, choose a baseline result you created from an old preset memory error analysis type (mi1, mi2, or mi3). If you have used multiple preset memory error analysis types, choose the widest (mi1 is the narrowest memory error analysis type; mi3 is the widest).