Intel® Inspector Help
Intel Inspector offers a range of preset memory analysis types to help you control analysis scope and cost:
Analysis types with the narrowest scope minimize the load on the system and the time and resources required to perform the analysis; however, they detect the narrowest set of errors and provide minimal details.
Analysis types with the widest scope maximize the load on the system and the time and resources required to perform the analysis; however, they detect the widest set of errors and provide context and the maximum amount of detail for those errors.
Use analysis types iteratively. Start with a narrow scope to verify the application is set up correctly and set expectations for analysis duration. Widen the scope only if you need more answers and you can tolerate the increased cost.
Estimated collection time may be 2 to 160 times longer than normal application execution time.
Data set size and workload have a direct impact on application execution time and analysis speed.
Some settings in each preset analysis type are configurable. If the combination of settings in a preset analysis type almost meets your needs, try fine-tuning these configurable settings.
If the combination of analysis type settings in the preset analysis types does not meet your needs at all, try creating a new custom analysis type based on the currently selected analysis type.
The following table shows the settings (in alphabetical order) for each preset analysis type.
N/A means not applicable for the preset analysis type (which means any value displayed in the GUI is greyed out)
Configurable means you can change the setting without creating a custom analysis type.
Renamed/split/combined configuration settings show previous manifestations.
Configuration Settings / Preset Memory Error Analysis Types |
Detect Leaks (Narrow Scope) |
Detect Memory Problems |
Locate Memory Problems (Wide Scope) |
---|---|---|---|
Analyze stack accesses |
N/A |
No |
No (configurable) |
Defer memory deallocation (previously called Byte limit before reallocation) |
N/A |
N/A |
1 Mb |
Detect invalid memory accesses (split from Detect invalid/uninitialized accesses) |
No |
Yes |
Yes |
Detect leaks at application exit (previously called Detect memory leaks upon application exit) |
Yes (configurable) |
Yes (configurable) |
Yes (configurable) |
Detect still-allocated memory at application exit (previously called Report still-allocated memory at application exit) |
Yes (configurable) |
Yes (configurable) |
Yes (configurable) |
Detect uninitialized memory reads (split from Detect invalid/uninitialized accesses) |
N/A |
No (configurable) |
No (configurable) |
Enable enhanced dangling pointer check |
N/A |
No |
Yes |
Enable guard zones |
N/A |
No |
Yes |
Enable memory growth detection (previously called Enable interactive memory growth detection) |
No (configurable) |
Yes (configurable) |
Yes (configurable) |
Enable on-demand leak detection (previously called Enable on-demand memory leak detection) |
No (configurable) |
Yes (configurable) |
Yes (configurable) |
Guard zone size (previously called Guard zone byte size) |
N/A |
N/A |
32 bytes |
Maximum number of leaks shown in result (previously called Maximum memory leaks) |
100,000 |
100,000 |
100,000 |
Remove duplicates |
Yes |
Yes |
Yes (configurable) |
Revert to previous uninitialized memory algorithm (not recommended) |
N/A |
No (configurable) |
No (configurable) |
Stack frame depth |
8 (configurable) |
8 (configurable) |
16 (configurable) |
The following table describes the purpose, usefulness, and cost (low, medium, high, or proportional in terms of time and resources) for each analysis type configuration setting. (The settings are listed in alphabetical order.)