Intel Inspector XE 2016

inspector-large-product-plain

Memory and thread debugger.

  • Diagnose memory leaks, growth and allocation errors quickly.
  • Debug intermittent threading errors like data races and deadlocks.
  • No special builds! Use your normal debug or optimized build.

Demo as part of Intel Parallel Studio XE

Overview

Deliver More Reliable Applications

Intel® Inspector XE is an easy to use memory and threading error debugger for C, C++, C# and Fortran applications that run on Windows* and Linux*. 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. The user interface can be used standalone on both Windows* and Linux* or integrated with Microsoft Visual Studio*. Enhance productivity, cut cost and speed time-to-market.


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

Find and debug intermittent and non-deterministic errors

Dynamic analysis reveals subtle defects or vulnerabilities whose 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 XE finds latent errors on the executed code path plus intermittent and non-deterministic errors, even if the error-causing timing scenario does not happen.

Memory Errors Threading Errors
  • Memory leaks
  • Memory corruption
  • Allocation / de-allocation API mismatches
  • Inconsistent memory API usage
  • Illegal memory access
  • Uninitialized memory read
  • Data races
    • Heap races
    • Stack races
  • Deadlocks

Complete list of errors: Windows* | Linux*

 Quotes

“Intel Inspector XE is quite fast and intuitive compared to products we have used in the past. We can now run our entire batch of test cases (~750) which was not feasible previously. Intel Inspector XE easily completed tests that failed due to lack of virtual memory on another product.”
Gerald Mattauch
Senior Software Developer
Siemens AG, Healthcare Sector

“We struggled for a week with a crash situation, the corruption was identified but the source was really hard to find. Then we ran Intel Inspector XE and immediately found the array out of bounds that occurred long before the actual crash. We could have saved a week!”
Mikael Le Guerroué,
Senior Codec Architecture Engineer,
Envivio


Features

Dynamic Instrumentation: Simple, Reliable, Accurate

Unlike other memory and threading analysis tools, Intel Inspector XE 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. Competitive static compilation based instrumentation techniques struggle with dynamically generated or linked code. Intel Inspector XE inspects all code including third party libraries where the source is not available.

Check and Debug C, C++, C# and Fortran applications

Or any mix. Is your GUI in C# with performance sensitive code in C++? Got legacy code in Fortran? Using libraries without the source? No problem, it all works. Dynamic instrumentation enables inspection of all code including third party libraries where the source is not available.

Choose Your Level – Go Fast or Be Thorough

The first level of analysis has very little overhead. Use it during development because it is fast. The second level (shown) takes more time and detects more issues. It is often used before checking in a new feature. The third level is great for regression testing and finding bugs.

 

Debugger Breakpoints Simplify Diagnosis

Debugger breakpoints make it easier to diagnose difficult errors by breaking into the debugger just before the error occurs. Examine variables and look at other threads to diagnose the problem. Visual Studio, GDB and IDB debuggers are supported. Just select the error and choose “Debug This Problem” from the pop-up menu.

 

Analyze Heap Growth Incremental leak report

Puzzled about what is causing your memory use to grow and grow as your app continues to run? Heap growth analysis helps you diagnose the cause. Get an incremental heap growth report of allocations not deallocated since the last baseline. New! Now you can also get an incremental report of leaks since the last baseline.

 

Pause/Resume Speeds Up Analysis

Speed-up analysis by limiting its scope. Turn on analysis only during the execution of the suspected problem. Instrumentation overhead is reduced to speed through long irrelevant sections of code. Used carefully, this can be very powerful in situations where long run times are required to reach the error.

 

Suppress False Errors, Share with the Team

False errors are easily added to a suppression list so you don’t need to investigate them next time. Multiple lists are supported and can be shared with other project members. Create your own private suppressions to block errors that are not in your code. Suppressing an entire module can also reduce collection time.

 

Team Collaboration

Each error reported contains state information (New, Confirmed, Fixed, Not Fixed, Regression, Not a Problem, Deferred) to help you sort and prioritize errors.

 

Filters Manage the Error List

Just want to see the errors from your source file? Just click and only those errors are shown. Working through the new errors and only want to see the highest severity? Just click. Filters are available for many categories: Severity, problem type, state, module, etc. They weed out the noise and let you focus on what is most important.

 

Inspect Software for Intel® Xeon Phi™ coprocessor product

Intel® Inspector XE can be used to analyze software for Intel® Xeon Phi™ coprocessor products even though the analysis does not run on an Intel Xeon Phi coprocessor. Inspecting your app with Intel Inspector XE running your app on a multicore processor will detect memory errors and threading errors that will occur when running on Intel Xeon Phi coprocessors.

Limit Analysis Range

Eliminate false errors and speed up analysis by using an API to mark memory that should not be analyzed (e.g., it contains a synchronization data structure)

Fewer False Positives, Better Error Messages

Intel Inspector XE understands the semantics of the Intel® Threading Building Blocks (Intel® TBB) 4.1, Intel® OpenMP and Intel® Cilk™ Plus parallel programming models. This saves time.

  1. It reports fewer false positives than competitive products.
  2. Errors are described using familiar terms from the source, not with cryptic internal runtime labels.

Multi-OS (Windows* and Linux*): Same User Interface

Are you developing for both Windows* and Linux*? Wouldn’t it be easier to use the same analysis tools for both OSs? Intel Inspector XE has the same user interface on both Windows* and Linux*. On Windows* it can be used stand alone or integrated with Microsoft Visual Studio*.

Analyze MPI Applications for Memory and Threading Errors

Intel Inspector XE can find both memory and threading errors on MPI applications. Performing an initial analysis on a single shared memory system will identify many errors, and additional analysis can also be run on a cluster. Results are sorted by rank.

Pointer Checker – Find difficult to diagnose out-of-bounds accesses

Pointer Checker is a compiler-based diagnostic that traps memory accesses beyond allocated addresses. Find dangling pointers, buffer overflows, etc. Speed-up diagnosis by breaking into the debugger when the exception occurs. Just compile with Pointer Checker enabled (/Qchecked-pointers on Windows or –checked-pointers on Linux), and then run your code, it identifies and reports out-of-bounds memory accesses. Pointer Checker requires the Intel compiler.

Windows:

Linux:

 

Technical Specifications
For additional details, please see the compiler documentation and release notes.

What’s New

Incrementally Diagnose Memory Growth

Graphically shows memory growth as the application is running. It then lets the developer a cause for the memory growth and provides call stack and code snippet information to help eliminate it.

3-20x Faster Race & Deadlock Analysis

Data race and deadlock analysis just got faster. These benchmarks illustrate the significant speed improvements on open source applications 7zip*, Firefox* and Blender*. Runtime improvements will vary by application.

Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.


 Learn


 

 

The Next Steps

Was sagen unsere Kunden über uns?

THANK YOU – you are a star and have saved my thesis! Your instructions worked perfectly. If I am purchasing upgrades I will definitely go to Adept now I know what level support you can provide.

CB, Plymouth, UK

Excellent tutor – very clear, very impartial, simply excellent.

I had just upgraded to Windows 7, and after having Mathcad for several years I found that I could not complete the final stages of installation. After reading help files I finished up confused and really helpless, until I contacted you. THANK YOU.

JD, Dorset, UK

Thanks for the quick response. I want to keep this software because your service is incredible….You truly have exceptional service in the software world.

PG, London, UK