Visible to Intel only — GUID: GUID-456C7A21-A1D7-4812-951A-3812E00BAE15
Visible to Intel only — GUID: GUID-456C7A21-A1D7-4812-951A-3812E00BAE15
knob
Specify additional settings for a collect or collect-with action.
-knob <knob-name>=<knob-value> |
-k <knob-name>=<knob-value> |
Available knobs and values are dependent on the specified analysis type. For a complete list, use the knob-list action.
<knob-name> | Description |
---|---|
analyze-stack=true | false Default: false |
Analyze invalid and uninitialized accesses to thread stacks. Enabling this setting is useful when:
High cost. Recommendation:
Supported analysis: mi3 |
detect-invalid-accesses=true | false Default: true |
Detect problems where an instruction reads or writes an uninitialized or invalid memory location. Enabling this setting is useful when an application:
Recommendation: Enable. Supported analysis: mi2, mi3 |
detect-leaks-on-exit=true | false Default: true |
Enable this setting to report typical memory leaks in which the application allocates a memory block, never releases it, and doesn’t keep a pointer to the block (e.g. unreachable memory blocks). Enabling is useful when an application:
Extremely low cost - especially if used only with the Remove duplicates checkbox selected. Recommendation: Enable. Supported analysis: mi1, mi2, mi3 |
detect-resource-leaks=true | false Default: true |
Enable this setting to detect open kernel and GDI handles when the application ends. For example, the application may open a file, get its handle, but never close or release that handle until it stops running. On Windows, GDI resources are limited, and the application may experience some drawing issues if it uses more than ~10,000 of these types of handles at once (pen, bitmap, brush, etc.). Enabling is useful when analyzing Windows* GUI applications. Low cost. Recommendation: Enable the first time you analyze an application and periodically thereafter. Supported analysis: mi1, mi2, mi3 |
enable-memory-growth-detection=true | false Default: true |
Set to true to enable buttons in the GUI that let you send commands during application execution. This will show you a list of reachable and unreachable memory blocks for a time segment. Enabling is useful for modeling memory usage patterns and ensuring a transactional application deallocates all memory allocations after a transaction completes. (Use in conjunction with the Reset Leak/Growth Detection button and Show Leaks/Growth Now button during analysis.) Low cost. Supported analysis: mi1, mi2, mi3 |
offload-target=default | cpu Default: default |
Use this argument to set up the device on which your application executes during offloaded code analysis.
Supported analysis: mi1, mi2, mi3, ti1, ti2, ti3 |
filter-guaranteed-atomics=true | false Default: false |
Enable this setting to skip reporting races on guaranteed atomic operations on Intel® P6 processor family or newer. For details, please refer to the Guaranteed Atomic Operations section of the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A. Use with caution, other architectures might have another policy on atomic operations. Supported analysis: ti2, ti3 |
filter-guaranteed-atomics=true | false Default: false |
Enable this setting to skip reporting races on guaranteed atomic operations on Intel® P6 processor family or newer. For details, please refer to the Guaranteed Atomic Operations section of the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A. Use with caution, other architectures might have another policy on atomic operations. Supported analysis: ti2, ti3 |
remove-duplicates=true | false Default: true |
Enable this setting to avoid showing duplicate occurrences of a detected problem in the Code Locations pane. Disabling is:
Recommendation: Enable. Supported analysis: mi3, ti3 |
scope=normal | extreme Default: normal |
Normal/normal=Set memory access byte granularity to 4 bytes, do not detect data races on stack accesses, and defer memory check. High cost. Extremely thorough/extreme=Set memory access byte granularity to 1 byte, detect data races on stack accesses, and do not defer memory check. Extremely high cost. Supported analysis: ti3 |
stack-depth=<value> Available values are: 1 8 16 24 32 Default: 16 |
Provide more or less call stack context for detected errors. A high setting is useful when analyzing highly object-oriented applications. A higher number does not significantly impact cost. Recommendation: Use only as large a value as an application requires to display complete call paths. Supported analysis: mi1, mi2, mi3, ti1, ti2, ti3 |
still-allocated-memory=true | false Default: true |
Detect problems where a still-reachable block of memory is allocated but not released when the application stops executing. Cost is proportional to the number of memory blocks still allocated when the application stops executing. Recommendation: Enable this setting to investigate memory growth. Supported analysis: mi1, mi2, mi3 |
terminate-on-deadlock=true | false Default: false |
Stop analysis and application execution if the Intel® Inspector detects a deadlock. Enabling this setting is useful when running your application as part of a kernel or unit testing suite. Low cost. Recommendation: Disable. Instead, use the corresponding knob in the command line interface to perform kernel or unit testing in a nightly scenario. If the Intel® Inspector identifies a deadlock, decide if it is appropriate to continue analysis. Supported analysis: ti1, ti2, ti3 |
use-maximum-resources=true | false Default: false |
Potentially detect more data race and cross-thread stack access errors; however, do not optimize memory consumption and performance. High cost. Recommendation: Disable this setting to find most of your threading problems. After you find and fix the problems, enable the setting for more complete coverage. Supported analysis: ti3 |
Use the knob action-option when you want to specify an additional setting for a collect or collect-with action. For a full list of available knobs, use the knob-list action.
This command uses the collect-with action to perform memory error analysis using the detect-memory-leaks knob on myApp.
$ inspxe-cl -collect-with runmc -knob detect-memory-leaks true -- myApp