Intel® Inspector

Memory and Thread Debugger

  • Save money: Locate root cause errors early―before you release
  • Save time: Quickly debug intermittent races and deadlocks
  • Save your data: Find persistence errors when using Intel® Optane™ DC Persistent Memory
  • Take advantage of Priority Support―connect privately with Intel engineers for technical questions

Save Money and Deliver More Reliable Applications

Find errors early when they are less expensive to fix. Intel® Inspector is an easy-to-use memory and threading error debugger for C, C++, and Fortran applications that run on Windows* and Linux*. The 2019 version includes a persistence inspector to find errors using persistent memory, such as missing or redundant cache flushes. No special compilers or builds are required. Just use a normal debug or production build. Use the graphical user interface or automate regression testing with the command line. It has a stand-alone user interface on Windows and Linux or it can be integrated with Microsoft Visual Studio*. Enhance productivity, cut costs, and speed time-to-market.

Intel Inspector is available as part of Intel® Parallel Studio XE and Intel® System Studio (includes options for free and purchased licenses). A license purchase includes Priority Support. If you qualify for Intel's student or academic programs, these toolkits may be available in free or discounted versions.

screenshot of Intel Inspector 2019
Intel Inspector takes you to the source locations of threading and memory errors and provides a call stack to help you determine how you got there.

Save Time: Find and Debug Intermittent and Non-Deterministic Errors

Dynamic analysis reveals subtle defects or vulnerabilities when the cause is too complex to be discovered by static analysis. Unlike static analysis, debugger integration lets you diagnose the problem and find the root cause. Intel Inspector finds latent errors on the executed code path plus intermittent and nondeterministic errors, even if the timing scenario that caused the error does not happen.

Diagnosing Race Conditions
Race conditions like the one above are very difficult to diagnose without a tool because they are nondeterministic. They won’t occur every time. Intel Inspector detects the race or deadlock, and then breaks into a debugger just before the error occurs.

Memory Errors

  • Memory leaks
  • Memory corruption
  • Allocation and deallocation API mismatches
  • Inconsistent memory API usage
  • Illegal memory access
  • Uninitialized memory read

Details: Windows and Linux

Threading Errors

  • Data races
    • Heap races
    • Stack races
  • Deadlocks

Details: Windows and Linux

Find Errors in Persistent Memory Programs

Persistent memory, like Intel® Optane™ DC Persistent Memory, is an emerging class of memory storage technology with great potential to improve application performance and reliability. One challenge is that a store to persistent memory does not become persistent immediately due to caching. The data persists only after it is out of the cache hierarchy and is visible to the memory system. Because of processor out-of-order execution and caching, the order of persistence may not be the same as the order of store.

The Persistence Inspector in Intel® Inspector is a new run-time tool that developers can use to find these programming errors in persistent memory programs. It detects:

  • Cache flush misses
  • Redundant cache flushes and memory fences
  • Out-of-order persistent memory stores
  • Incorrect undo logging for the Persistent Memory Development Kit (PMDK)

Use Your Normal Debug or Optimized Build

Unlike other memory and threading analysis tools, Intel Inspector never requires any special recompiles for analysis. Just use your normal debug or production build. (Include symbols so we can map to the source.) This not only makes your workflow faster and easier, it increases reliability and accuracy.

This is made possible by Intel Inspector’s dynamic instrumentation of your binary. Competitive static analysis and compilation-based instrumentation techniques struggle with dynamically generated or linked code. Intel Inspector inspects all code―including third-party libraries where the source is not available.

New for 2019

  • Find persistence errors like missing or redundant cache flushes. (Persistent memory is an emerging class of memory storage technology.)
  • Detect deadlocks on std::shared_mutex (C++17 standard).
  • Experience improved compatibility with some antiviruses.
  • Use the latest operating systems and Microsoft Visual Studio*.

Benefits of Priority Support

Paid licenses for Intel® Software Development Tools include Priority Support for one year from your date of purchase, with options to extend support at a reduced rate. Benefits include:

  • Direct and private interaction with Intel engineers. Submit confidential inquiries and code samples via the Online Service Center.
  • Responsive help with your technical questions and other product needs for both new and older versions.
  • Free access to all new product updates and access older versions.
  • Learn from other experts via community product forums.
  • Access to a vast library of self-help documents that build on decades of experience for creating high-performance code.

Compare options to purchase in Try and Buy.

Technical Specification at a Glance

Processors Intel® processors and compatible processors when analyzing applications containing Intel® instructions. Now running native on Intel Xeon Scalable processors.
Languages C, C++, Fortran
Development Tools and Environments

Compatible with compilers from vendors that follow platform standards (such as Microsoft*, GNU Compiler Collection (GCC)*, and Intel® compilers).

Can be used as a stand-alone product on both Windows and Linux or integrated with Microsoft Visual Studio*.

No special compilers or builds are required; just use a normal debug or production build.

Operating Systems A license applies to Windows and Linux.

For complete information, see documentation and release notes.