intel Inspector Get Dynamic Memory and Threading Error Checking Tool User Guide
- June 9, 2024
- Intel
Table of Contents
intel Inspector Get Dynamic Memory and Threading Error Checking Tool
Get Started with Intel® Inspector
Intel® Inspector is a dynamic memory and threading error checking tool for
users developing serial and multithreaded applications on Windows and Linux
operating systems.
This document summarizes the typical workflow to get started using the Intel
Inspector GUI.
Key Features
Intel Inspector offers:
- Standalone GUI, Microsoft Visual Studio* plug-in, and command line operational environments.
- Preset analysis configurations (with some configurable settings), as well as the ability to create custom analysis configurations to help you control analysis scope and cost.
- Visibility into individual problems, problem occurrences, and call stack information, with problem prioritization and filtering by inclusion and exclusion to help you focus on items that require your attention.
- Problem suppressions support to help you focus on only those issues that require your attention, including the ability to:
- Create suppression rules based on stacks
- Convert third-party suppression files to the Intel Inspector suppression file format
- Create and edit suppression files in a text editor
- Interactive debugging capability so you can investigate problems more deeply during analysis
- Persistent, propagated problem state information to help you avoid investigating issues over and over again
- A wealth of reported memory errors, including on-demand memory leak detection
- Memory growth measurement to help ensure your application uses no more memory than expected
- Data race, deadlock, lock hierarchy violation, and cross-thread stack access error detection, including error detection on the stack
- Intel® Software Manager to download and install Intel software updates, manage subscription status of installed software, activate serial numbers, and discover the latest news about Intel software (Windows* OS only)
Intel Inspector is available as astandalone installation and as part of the following products:
Notices and Disclaimers
Intel technologies may require enabled hardware, software or service
activation.
No product or component can be absolutely secure.
Your costs and results may vary.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are
trademarks of Intel Corporation or its subsidiaries. Other names and brands
may be claimed as the property of others.
Microsoft, Windows, and the Windows logo are trademarks, or registered
trademarks of Microsoft Corporation in the United States and/or other
countries.
No license (express or implied, by estoppel or otherwise) to any intellectual
property rights is granted by this document.
The products described may contain design defects or errors known as errata
which may cause the product to deviate from published specifications. Current
characterized errata are available on request.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
Get Started with Intel® Inspector-Windows* OS
Intel® Inspector is a dynamic memory and threading error checking tool for users developing serial and multithreaded applications on Windows and Linux operating systems. This topic is part of a Getting Started document that summarizes an end-to-end workflow you can apply to your applications.
Prerequisites
You can use the Intel Inspector to analyze memory and threading errors in both debug and release modes of C++ and Fortran binaries. To build applications that produce the most accurate and complete Intel Inspector analysis results:
Build your application in debug mode.
- Use optimal compiler/linker settings. For more information, see Building Applications in Intel Inspector Help.
- Ensure your application creates more than one thread before you run threading analyses. In addition:
- Verify your application runs outside the Intel Inspector environment.
- Run the < inspector-install-dir>\inspxe-vars.bat command. .
The default installation path, < inspector-install-dir>, is below C:\Program Files (x86)\Intel
\oneAPI\ inspector (on certain systems, instead of Program Files (x86), the directory name is Program Files ).
NOTE Setting up your environment is necessary only if you plan to use the
inspxe-gui command to
launch the Intel Inspector standalone GUI interface or the inspxe-cl command
to run the command line interface.
For more information, see Building Applications in Intel Inspector Help.
Get Started
Follow these steps to get started using the Intel Inspector.
Launch the Intel Inspector
To launch the:
- Intel Inspector standalone GUI: Run the inspxe-gui command or from the Microsoft Windows* All App s screen, select Intel Inspector [version ].
- Intel Inspector plug-in to the Visual Studio IDE: Open your solution in the Visual Studio IDE and click the icon.
To launch the command line interface: Run the inspxe-cl command. (To get help, append -help to the command line.)
Choose/Create Project
Intel Inspector is based on a project paradigm and requires that you create or
open a project to enable analysis features.
Think of an analysis project as a:
- Compiled application
- Collection of configurable attributes, including suppression rules and search directories
- Container for analysis results
For more information, see Choosing Projects in Intel Inspector Help.
Configure Project
Data set size and workload have a direct impact on application execution time
and analysis speed.
For best results, choose small, representative data sets that create threads
with minimal to moderate work per thread.
Your objective: In as short a runtime period as possible, execute as many
paths and the maximum number of tasks (parallel activities) as you can afford,
while minimizing the redundant computation within each task to the bare
minimum needed for good code coverage.
Data sets that run a few seconds are ideal. Create additional data sets to
ensure all your code is inspected.
For more information, see Configuring Projects in Intel Inspector
Help.
Configure Analysis
Intel Inspector offers a range of preset memory and threading analysis types
(as well as custom analysis types) to help you control analysis scope and
cost. The narrower the scope, the lighter the load on the system. The wider
the scope, the larger the load on the system.
Tip
Use analysis types iteratively. Start with a narrow scope to verify your
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.
For more information, see Configuring Analyses in Intel Inspector
Help.
Run Analysis
When you run an analysis, the Intel Inspector:
- Executes your application.
- Identifies issues that may need handling.
- Collects those issues in a result.
- Converts symbol information into filenames and line numbers.
- Applies suppression rules.
- Performs duplicate elimination.
- Forms problem sets.
- Depending on your analysis configuration options, may launch an interactive debugging session. For more information, see Running Analyses in Intel Inspector Help.
Choose Problems
During analysis, the Intel Inspector displays problems in the order detected.
After analysis is complete, the Intel Inspector:
- Groups detected problems into problem sets (but still provides visibility into individual problems and problem occurrences).
- Prioritizes the problem sets.
- Offers filtering to help you focus on those problem sets that require your attention.
For more information, see Choosing Problems in Intel Inspector
Help.
Interpret Result Data and Resolve Issues
Use the following Intel Inspector features to enhance your productivity:
Interpret result data.| Explain Problem Help
For more information, see Accessing Explain Problem Help in Intel Inspector Help.
|
- During analysis
- After analysis is complete
---|---|---
Focus only on those issues that require your attention.| Severity Levels For
more information, see Severity Levels in Intel
Inspector
Help.|
- During analysis
- After analysis is complete
States| After analysis is complete
For more information, see
States in Intel Inspector
Help.
Suppression rules| After analysis is complete
For more information, see Suppressions Support in
Intel Inspector
Help.
Resolve issues.| Direct access to a default editor For more information, see
Editing Source Code in Intel
Inspector
Help.|
- During analysis
- After analysis is complete
Learn More
Document/Resource | Description |
---|
Intel
Inspector:
Featured
Documentation|
An excellent overall resource for novice, intermediate, and advanced users,
this page includes links to guides, release notes, videos, featured topics,
training samples, and more.
Intel Inspector
Release Notes and
New
Features| Contain up-to-date information about the
Intel Inspector, including a description, technical support, and known
limitations. This document also contains system requirements, installation
instructions, and instructions for setting up the command line environment.
Tutorials| Help you learn to use the Intel Inspector. After
you copy a training sample compressed file to a writable directory, use a
suitable tool to extract the contents. To load a training sample into the
Visual Studio* environment, doubleclickthe.sln file.
Training samples help you learn to use the Intel Inspector. Training samples
are installed as individual compressed files under
directory, use a suitable tool to extract the contents. Extracted contents include a short README that describes how to build the training sample and fix issues.
To load a training sample into the Visual Studio* environment, double-click the .sln file.
Tutorials show you how to find and fix uninitialized memory access, memory leak, and data race errors using C++ and Fortran training samples.
Intel Inspector
User
Guide| The User Guide is the primary
documentation for the Intel Inspector.
More Resources| Intel Inspector:
Home
Intel Inspector
Glossary
Explore Our
Documentation
Get Started with Intel® Inspector-Linux* OS
Intel® Inspector is a dynamic memory and threading error checking tool for users developing serial and multithreaded applications on Windows and Linux operating systems. This topic is part of a Getting Started document that summarizes an end-to-end workflow you can apply to your applications.
Prerequisites
You can use the Intel Inspector to analyze memory and threading errors in both debug and release modes of C++ and Fortran binaries. To build applications that produce the most accurate and complete Intel Inspector analysis results:
-
Build your application in debug mode.
-
Use optimal compiler/linker settings. For more information, see Building Applications in Intel Inspector Help.
-
Ensure your application creates more than one thread before you run threading analyses. In addition:
-
Verify your application runs outside the Intel Inspector environment.
-
Ensure you set the EDITOR or VISUAL environment variable to your text editor.
-
Do one of the following to set up your environment:
-
Run one of the following source commands:
-
For csh/tcsh users: source < inspector-install-dir>/inspxe-vars.csh
-
For bash users: source
/inspxe-vars.sh -
The name of this script for the application as part of an Intel® oneAPI HPC Toolkit or Intel® oneAPI IoT Toolkit installation is env\vars instead of inspxe-vars.
The default installation path, < inspector-install-dir>, is below: -
/opt/intel/oneapi/inspector for root users
-
$HOME/intel/oneapi/inspector for non-root users
-
Add < inspector-install-dir>/bin32 or < inspector-install-dir>/bin64 to your path.
For more information, see Building Applications in Intel Inspector Help.
Get Started
Follow these steps to get started using the Intel Inspector
Launch the Intel Inspector
To launch the Intel Inspector standalone GUI, run the inspxe-gui command.
To launch the command line interface: Run the inspxe-cl command. (To get help,
append -help to the
command line.)
Choose/Create Project Intel Inspector is based on a project paradigm and
requires that you create or open a project to enable analysis features.
Think of an analysis project as a:
- Compiled application
- Collection of configurable attributes, including suppression rules and search directories
- Container for analysis results For more information, see Choosing Projects in Intel Inspector Help.
Configure Project
Data set size and workload have a direct impact on application execution time
and analysis speed.
For best results, choose small, representative data sets that create threads
with minimal to moderate work per thread.
Your objective: In as short a runtime period as possible, execute as many
paths and the maximum number of tasks (parallel activities) as you can afford,
while minimizing the redundant computation within each task to the bare
minimum needed for good code coverage.
Data sets that run a few seconds are ideal. Create additional data sets to
ensure all your code is inspected.
For more information, see Configuring Projects in Intel Inspector
Help.
Configure Analysis
Intel Inspector offers a range of preset memory and threading analysis types
(as well as custom analysis types) to help you control analysis scope and
cost. The narrower the scope, the lighter the load on the system. The wider
the scope, the larger the load on the system.
Tip
Use analysis types iteratively. Start with a narrow scope to verify your
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.
For more information, see Configuring Analyses in Intel Inspector
Help.
Run Analysis
When you run an analysis, the Intel Inspector:
-
Executes your application.
-
Identifies issues that may need handling.
-
Collects those issues in a result.
-
Converts symbol information into filenames and line numbers.
-
Applies suppression rules.
-
Performs duplicate elimination.
-
Forms problem sets.
-
Depending on your analysis configuration options, may launch an interactive debugging session.
For more information, see Running Analyses in Intel Inspector Help.
Choose Problems During analysis, the Intel Inspector displays problems in the order detected. After analysis is complete, the Intel Inspector: -
Groups detected problems into problem sets (but still provides visibility into individual problems and problem occurrences).
-
Prioritizes the problem sets.
-
Offers filtering to help you focus on those problem sets that require your attention
For more information, see Choosing Problems in Intel Inspector
Help.
Interpret Result Data and Resolve Issues
Use the following Intel Inspector features to enhance your productivity:
Objective | Feature | During Analysis/After Analysis Is Complete |
---|---|---|
Interpret result data. | Explain Problem Help |
For more information, see Accessing Explain Problem Help in Intel Inspector Help.
|
- During analysis
- After analysis is complete
Focus only on those issues that require your attention.| Severity Levels For more information, see Severity Levels in Intel Inspector Help.|
- During analysis
- After analysis is complete
States| After analysis is complete
For more information, see
States in Intel Inspector
Help.
Suppression rules| After analysis is complete
For more information, see Suppressions Support in
Intel Inspector
Help.
Resolve issues.| Direct access to a default editor For more information, see
Editing Source Code in Intel
Inspector
Help.|
- During analysis
- After analysis is complete
Learn More
Document/Resource | Description |
---|
Intel
Inspector:
Featured
Documentation|
An excellent overall resource for novice, intermediate, and advanced users,
this page includes links to guides, release notes, videos, featured topics,
training samples, and more
Intel Inspector
Release Notes and
New
Features| Contain up-to-date information about the
Intel Inspector, including a description, technical support, and known
limitations. This document also contains system requirements, installation
instructions, and instructions for setting up the command line environment.
Tutorials| Help you learn to use the Intel Inspector. After you copy a training sample compressed file to a writable directory, use a suitable tool to extract the contents. To load a training sample into the Visual Studio* environment, double- click the .sln file.
Training samples help you learn to use the Intel Inspector. Training samples
are installed as individual compressed files under
Tutorials show you how to find and fix uninitialized memory access, memory leak, and data race errors using C++ and Fortran training samples.
Intel Inspector
User
Guide| The User Guide is the primary
documentation for the Intel Inspector.
| Intel Inspector:
Home
References
- Intel | Data Center Solutions, IoT, and PC Innovation
- Intel® Inspector Tutorials
- Intel® Inspector Release Notes and New Features
- Intel® oneAPI standalone component installation files
- Resource & Documentation Center
- Intel® Inspector User Guide for Linux* OS
- Configuring Analyses
- Running Analyses
- Choosing Problems
- Accessing Explain Problem Help
- Editing Source Code
- Severity Levels
- Build Your Application
- Choose Projects
- Configure Projects
- Suppressions Support
- Dialog Box: Merge States
- Intel® Inspector User Guide for Windows* OS
- Configuring Analyses
- Choosing Problems
- Accessing Explain Problem Help
- Editing Source Code
- Severity Levels
- Build Your Application
- Choose Projects
- Configure Projects
- Suppressions Support
- Dialog Box: Merge States
- Intel® Inspector
- Get Started with Intel® Inspector
- Intel® oneAPI HPC Toolkit: Cluster & HPC Development Tools
- Running Analyses
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>