About Configuring Dynamic Analyses

Configure the Intel® Inspector dynamic analyses using preset and custom analysis types.

You can also configure the Intel Inspector for interactive debugging during analysis.

About Using Analysis Types

Intel Inspector offers a range of preset memory and threading 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.

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. For example:

  • When you use preset memory error analysis types, you can choose to detect resource leaks, report still-allocated memory at application exit, and adjust stack frame depth.

  • When you use preset threading error analyses types, you can choose to terminate on deadlock and adjust stack frame depth.

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.

Tip

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.

About Configuring for Interactive Debugging During Analysis

Sometimes simply knowing the location of a problem is not enough. So the Intel Inspector provides the opportunity to investigate more deeply with an interactive debugging session during analysis.

When you run an interactive debugging session during analysis, the Intel Inspector halts execution at a detected problem. This is more efficient than simply setting a code breakpoint at a reported problem location because the code could execute thousands of times before the conditions that produced the problem occur.

Intel Inspector offers two configuration options:

  • Enable debugger when problem detected - Allows investigation of every problem detected in an interactive debugging session. Typical usage scenario: You want to investigate the state of the application for every problem detected.

  • Select analysis start location with debugger - Delays problem detection until a selected point in the application. Typical usage scenario: You configured the project to limit the application modules for inspection, but you need to narrow analysis focus even further. This option lets you choose an arbitrary location to turn on error detection, allowing faster execution until that point.

Note

You can also use the Debug This Problem function, a context menu option in a result Problems pane, to allow quick investigation of problems of interest. In this case, there is no need to manually configure for interactive debugging and rerun an analysis; the Debug This Problem function automatically launches a new analysis that is optimized to find the selected problems. Typical usage scenario: After reviewing a problem using result data provided by the Intel Inspector, you discover you need more application state information at the time the problem occurred, such as the contents of variables.

For more complete information about compiler optimizations, see our Optimization Notice.