Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
Inspector (previously known as Intel Thread Checker) is a memory and thread checking and debugging tool to increase the reliability, security, and accuracy of
C/
C++ and Fortran applications.
* Reliability: Find deadlocks and memory errors that cause lockups & crashes
* Security: Find memory and threading vulnerabilities used by hackers
* Accuracy: Identify memory corruption and race conditions to eliminate erroneous results
The nondeterministic nature of threading errors makes it hard to reproduce. Intel Inspector detects and locates threading errors that include
race condition
A race condition or race hazard is the condition of an electronics, software, or other system where the system's substantive behavior is dependent on the sequence or timing of other uncontrollable events. It becomes a bug when one or more of t ...
s,
deadlock
In concurrent computing, deadlock is any situation in which no member of some group of entities can proceed because each waits for another member, including itself, to take action, such as sending a message or, more commonly, releasing a lo ...
s, depth configurable call stack analysis, diagnostic guidance, built-in knowledge of
Threading Building Blocks
oneAPI Threading Building Blocks (oneTBB; formerly Threading Building Blocks or TBB), is a C++ template library developed by Intel for parallel programming on multi-core processors. Using TBB, a computation is broken down into tasks that can r ...
(TBB),
OpenMP
OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating sy ...
, and POSIX or Win32 threads.
Memory checking includes
memory leaks
Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembered, ...
,
dangling pointers,
uninitialized variable
In computing, an uninitialized variable is a variable that is declared but is not set to a definite known value before it is used. It will have ''some'' value, but not a predictable one. As such, it is a programming error and a common source of b ...
s, use of invalid memory references, mismatched memory, allocation and deallocation, stack memory checks, and stack trace with controllable stack trace depth. Intel Inspector finds these errors and integrates with a debugger to identify the associated issues. It also diagnoses memory growth and locates the call stack causing it.
Intel Inspector has integration with debuggers (Microsoft VS debugger, GDB) so that Inspector automatically detects an error and places a debugger breakpoint at the problematic code location, allowing the user to investigate the details in a debugger.
The tool also detects persistent memory errors. 3D XPoint is a new emerging persistent memory technology for the data centers. Inspector detects persistent memory errors such as redundant cache flushes, memory fences, out-of-order persistent memory stores, incorrect undo logging etc.
Intel Inspector is available for free as a stand-alone tool, as part of Intel
oneAPI HPC and IoT Toolkits. Optional paid commercial support is available for the Intel HPC and IoT Toolkits.
See also
*
Intel Advisor - design and analysis tool for vectorization, threading, memory usage and accelerator offloading
*
Intel VTune Profiler - performance profiler
*
Intel Developer Zone (Intel DZ; support and discussion)
*
oneAPI (compute acceleration)
*
Memory debugger
*
Memory leak
In computer science, a memory leak is a type of resource leak that occurs when a computer program incorrectly manages memory allocations in a way that memory which is no longer needed is not released. A memory leak may also happen when an object ...
References
External links
*
Intel oneAPI HPC Toolkit- tools and libraries for HPC software development
- tools and libraries for IoT software development
{{Intel software
Debuggers
Inspector
Memory management software