Issue
What is the use of the GCC -g option?
I tried gcc --help
, but an answer wasn't found.
This is something related to debugging purposes.
Solution
"I tried
gcc --help
but no answer was found."
Well, gcc --help
just provides a very broad overview of the available options and command line syntax. This options summary documentation might be a better starting point.
As from the GCC documentation it says
-g Produce debugging information in the operating system's native format (stabs, COFF, XCOFF, or DWARF 2). GDB can work with this debugging information. On most systems that use stabs format, -g enables use of extra debugging information that only GDB can use; this extra information makes debugging work better in GDB but probably makes other debuggers crash or refuse to read the program. If you want to control for certain whether to generate the extra information, use -gstabs+, -gstabs, -gxcoff+, -gxcoff, or -gvms (see below).
GCC allows you to use -g with -O. The shortcuts taken by optimized code may occasionally produce surprising results: some variables you declared may not exist at all; flow of control may briefly move where you did not expect it; some statements may not be executed because they compute constant results or their values are already at hand; some statements may execute in different places because they have been moved out of loops.
Nevertheless it proves possible to debug optimized output. This makes it reasonable to use the optimizer for programs that might have bugs.
The following options are useful when GCC is generated with the capability for more than one debugging format.
Answered By - πάντα ῥεῖ Answer Checked By - Mildred Charles (WPSolving Admin)