Visible to Intel only — GUID: GUID-DC1D48F9-540D-4517-AEFC-BC7B38DDB0EE
Visible to Intel only — GUID: GUID-DC1D48F9-540D-4517-AEFC-BC7B38DDB0EE
debug (Linux*)
Enables or disables generation of debugging information.
Syntax
Linux: |
-debug[=keyword] |
Windows: |
None |
Arguments
keyword |
Is the type of debugging information to be generated. Possible values are:
|
For information on the non-default settings for these keywords, see the Description section.
Default
varies |
Normally, the default is -debug none and no debugging information is generated. However, on Linux*, the -debug inline-debug-info option will be enabled by default if you compile with optimizations (option -O2 or higher) and debugging is enabled (option -g). |
Description
This option enables or disables generation of debugging information.
By default, enabling debugging, will disable optimization. To enable both debugging and optimization use the -debug option together with one of the optimization level options (-O3, -O2 or -O3).
Keywords inline-debug-info, variable-locations, and extended can be used in combination with each other. If conflicting keywords are used in combination, the last one specified on the command line has precedence.
Option |
Description |
---|---|
-debug none |
Disables generation of debugging information. |
-debug full or -debug all |
Generates complete debugging information. It is the same as specifying -debug with no keyword. |
-debug minimal |
Generates line number information for debugging. |
-debug expr-source-pos |
Generates source position information at the statement level of granularity. |
-debug inline-debug-info |
Generates enhanced debug information for inlined code. On inlined functions, symbols are (by default) associated with the caller. This option causes symbols for inlined functions to be associated with the source of the called function. |
-debug variable-locations |
Generates enhanced debug information useful in finding scalar local variables. It uses a feature of the Dwarf object module known as "location lists". This feature allows the runtime locations of local scalar variables to be specified more accurately; that is, whether, at a given position in the code, a variable value is found in memory or a machine register. |
-debug extended |
Sets keyword variable-locations. It also tells the compiler to include column numbers in the line information. Generates complete debugging information. This is a more powerful setting than -debug full or -debug all. |
-debug parallel |
Generates parallel debug code instrumentations needed for the thread data sharing and reentrant call detection. This content does not apply to SYCL. For shared data and reentrancy detection, option -qopenmp must be set. |
On Linux* systems, debuggers read debug information from executable images. As a result, information is written to object files and then added to the executable by the linker.
IDE Equivalent
Visual Studio: None
Eclipse: Advanced Debugging > Enable Parallel Debug Checks (-debug parallel)
Debug > Enable Expanded Line Number Information (-debug expr-source-pos)
Alternate Options
For -debug full, -debug all, or -debug |
Linux: -g Windows: /debug:full, /debug:all, or /debug |