在编译过程中,gcc编译器提供了-g选项来生成调试信息。其中,-ggdb和-g都是用于生成调试信息的选项,但它们之间有一些区别。 -ggdb选项是专门为gdb(GNU调试器)设计的,它会生成更丰富的调试信息,以便gdb能够更好地进行调试。使用-ggdb选项编译的程序在使用gdb调试时,可以提供更详细的源代码级调试信息,如变量名、函数...
-ggdbProduce debugging information for use by GDB. This means to use the most expressive format available (DWARF 2, stabs, or the native format if neither of those are supported), including GDB extensions if at all possible.-ggdb 产生 GDB 所需的调试信息。这意味着将会使用可用的、...
-g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的 -g 该选项可以利用操作系统的“原生格式(native format)”生成调试 信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息 -ggdb 使GCC 为 GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其 他的调试器来进行调试了 (如 ddx) ...
I could use -ggdb ... but I forget to type those extra three characters. One thing is that"-g" is portable(e.g. in Makefiles destined to be executed on non-GNU platforms). I had a portability issue regarding -g vs. -ggdb on an AIX machine recently, that's why I bring it up....
-ggdb: 尽可能的生成 gdb 的可以使用的调试信息。重复使用-g和-ggdb是无用的,从结果看,gcc会忽略-g,使-ggdb生效 -w: 不生成任何警告信息(这会关闭所有警告信息,不建议使用) -Wall: 生成主要的警告信息 -Wextra: 生成一些额外的警告信息 -Werror: 把所有的警告信息升级为报错信息,导致编译失败 ...
(1) -g 和 -ggdb 默认情况下,gcc 在编译时不会将调试符号插入到生成的二进制代码中,因为这样会增加可执行文件的大小。如果需要在编译时生成调试符号信息,可以使用 gcc 的 -g 或 -ggdb 选项。 gcc 在产生调试符号时,同样采用了分级的思路,开发人员可以通过在 -g 选项后附加数字1、2、3指定在代码中加入调试...
如果需要在编译时生成调试符号信息,可以使用 gcc 的 -g 或 -ggdb 选项。 gcc 在产生调试符号时,同样采用了分级的思路,开发人员可以通过在 -g 选项后附加数字1、2、3指定在代码中加入调试信息的多少。默认的级别是2(-g2),此时产生的调试信息包括:扩展的符号表、行号、局部或外部变量信息。 级别3(-g3)包含...
如果需要在编译时生成调试符号信息,可以使用GCC 的-g或者-ggdb选项。GCC在产生调试符号时,同样采用了分级的思路,开发人员可以通过在-g选项后附加数字1、2或3来指定在代码中加入调试信息的多少。默认的级别是2(-g2),此时产生的调试信息包括扩展的符号表、行号、局部或外部变量信息。级别3(-g3)包含级别2中的所有...
-g 只是编译器,在编译的时候,产生调试信息。 -gstabs 此选项以stabs格式声称调试信息,但是不包括gdb调试信息. -gstabs+ 此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息. -ggdb 此选项将尽可能的生成gdb的可以使用的调试信息. -static
-O0-O1-O2-O3编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高-g只是编译器,在编译的时候,产生调试信息。-gstabs此选项以stabs格式声称调试信息,但是不包括gdb调试信息.-gstabs+此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.-ggdb此选项将尽可能的生成gdb的可以...