在编译过程中,gcc编译器提供了-g选项来生成调试信息。其中,-ggdb和-g都是用于生成调试信息的选项,但它们之间有一些区别。 -ggdb选项是专门为gdb(GNU调试器)设计的,它会生成更丰富的调试信息,以便gdb能够更好地进行调试。使用-ggdb选项编译的程序在使用gdb调试时,可以提供更详细的源代码级调试信息,如变量名、函数...
I use -g even though I use gdb exclusively when I use gcc/g++. 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 ...
-g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的 -g 该选项可以利用操作系统的“原生格式(native format)”生成调试 信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息 -ggdb 使GCC 为 GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其 他的调试器来进行调试了 (如 ddx) ...
4、动态的改变你程序的执行环境。 在可以使用gdb调试程序之前,必须使用-g 或者 -ggdb编译选项 编译源文件。 总之: gcc就是一个纯编译器而make更牛逼些 包括了gcc 只有把makefile解决 一切ok. gdb调试C程序先要用gcc编译,见上面写的两条命令。然后就可以用gdb来调试了。
-g #产生带有调试信息的目标代码 -gstabs #此选项以stabs格式声称调试信息,但是不包括gdb调试信息 -gstabs+ #此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息 -ggdb #生成gdb专用的调试信息 -glevel #请求生成调试信息,同时用level指出需要多少信息,默认的level值是2 编码配置参数 -fno-exceptions...
其中gcc和cc是一样的,c++和g++是一样的,一般c语言程序就用gcc编译,c++程序就用g++编译。 第二:gcc特点 gcc是一个可移植的编译器,支持多种硬件平台。例如ARM、X86等等。 gcc不仅是个本地编译器,它还能跨平台交叉编译。所谓的本地编译器,是指编译出来的程序只能够在本地环境进行运行。而gcc编译出来的程序能够在...
如果需要在编译时生成调试符号信息,可以使用 gcc 的 -g 或 -ggdb 选项。 gcc 在产生调试符号时,同样采用了分级的思路,开发人员可以通过在 -g 选项后附加数字1、 2、3指定在代码中加入调试信息的多少。默认的级别是2(-g2),此时产生的调试信息包括: 扩展的符号表、行号、局部或外部变量信息。 级别3(-g3)...
-g 只是编译器,在编译的时候,产生调试信息。 -gstabs 此选项以stabs格式声称调试信息,但是不包括gdb调试信息. -gstabs+ 此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息. -ggdb 此选项将尽可能的生成gdb的可以使用的调试信息. -static
-g 在可运行程序中包括标准调试信息 -ggdb 在可运行程序中包括仅仅有GNU debugger才干使别的达两条是信息 -O 优化编译过的代码 -ON 指定代码优化的级别为N,o<=N<=3 -ansi 支持ANSI/ISO C的标准语法,取消GNU的语法扩展中与该标准有冲突的部分(但这一选项并不能保证生成ANSI兼容的代码) 这一选项将禁止 GNU...