-g
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 will probably make 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).
Unlike most other C compilers, 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 were already at hand; some statements may execute in different places because they were 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.
http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Debugging-Options.html#Debugging-Options
http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Option-Summary.html
中文:
http://hi.baidu.com/zarcoder/blog/item/05ec15f364b173ca0b46e03b.html

本文详细介绍了GCC编译器中-g选项的功能,包括如何生成不同操作系统的调试信息(如stabs, COFF, XCOFF, DWARF),以及如何与优化选项-O配合使用。文章还解释了在使用-g选项时如何控制生成特定格式的调试信息。
219

被折叠的 条评论
为什么被折叠?



