Follow these guidelines to build applications that produce the most accurate and complete Intel Inspector analysis results:
Ensure applications create more than one thread before you run threading analyses.
About Using Optimal Compiler/Linker Settings
You can use the Intel® Inspector to analyze:
Memory errors in debug and release modes of:
C++ binaries - The Intel Inspector can analyze native code in native and mixed native/managed binaries.
Fortran binaries - The Intel Inspector can analyze native code in native binaries.
Threading errors in debug and release modes of:
C++ binaries - The Intel Inspector can analyze native and managed code in native, managed, and mixed native/managed binaries.
Fortran binaries - The Intel Inspector can analyze native code in native binaries.
Compiler/Linker Property | Correct C/C++ Setting | Correct Fortran Setting | Impact If Not Set Correctly |
---|---|---|---|
Debug information | Enabled (/Zi or /ZI) | Enabled (/debug:full) | Missing file/line information |
Optimization | Disabled (/Od) | Disabled (/Od) | Incorrect file/line information |
Dynamic runtime library | Selected (/MD or /MDd) | Selected (/libs:dll/threads or libs:dll/threads/dbglibs ) | False positives or missing code locations |
Basic runtime error checks | Disabled (do not use /RTC; Default option in Visual Studio* IDE) | None (/check:none) | False positives |
To learn more about options necessary to produce the most accurate and complete dynamic analysis results, see the following resources:
Memory error analysis - http://software.intel.com/en-us/articles/compiler-settings-for-memory-error-analysis-in-intel-inspector-xe/
Threading error analysis - http://software.intel.com/en-us/articles/compiler-settings-for-threading-error-analysis-in-intel-inspector-xe/
About Ensuring Applications Contain More Than One Thread
If you plan to run threading error analyses on systems with only one processor, you may need to take special steps to ensure applications create more than one thread: