The Intel® C++ Compiler provides basic debugging information and new features for enhanced debugging of code. The basic debugging options are listed in the following table.
Option
|
Description
|
-debug all -debug full
|
These options are equivalent to -g. They turn on production of basic debug information. They are off by default.
|
-debug none
|
This option turns off production of debug information. This option is on by default.
|
The Intel C++ Compiler improves debuggability of optimized code through enhanced support for:
tracebacks
variable locations
breakpoints and stepping
The options described in the following table control generation of enhanced debug information.
Option
|
Description
|
-debug expr-source-pos
|
This option enables expanded line number information.
|
-debug inline-debug-info
|
This option produces enhanced debug information for inlined code. It provides more information to debuggers for function call traceback.
|
-debug emit_column
|
This option generates column number information for debugging.
|
-debug semantic-stepping
|
This option generates information useful for breakpoints and stepping. It tells the debugger to stop only at machine instructions that achieve the final effect of a source statement.
|
-debug variable-locations
|
This option produces additional debug information for scalar local variables using a feature of the DWARF object module format known as "location lists." The runtime locations of local scalar variables are specified more accurately using this feature, i.e. whether at a given position in the code, a variable value is found in memory or a machine register.
|
-debug extended
|
This option turns on the following -debug options:
It also specifies that column numbers should appear in the line information.
|
-debug parallel (Linux* OS IA-32 and Intel® 64 architectures only)
|
This option determines whether the compiler generates parallel debug code instrumentations useful for thread data sharing and reentrant call detection. Must be used in conjunction with the -g option
|
Note
When the compiler needs to choose between optimization and quality of debug information, optimization is given priority.