gcc 的 -g 和 -ggdb 选项
来源:互联网 发布:女武神升级数据 编辑:程序博客网 时间:2024/06/14 09:05
gcc 的 -g 和 -ggdb 选项
-g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的
-g
该选项可以利用操作系统的“原生格式(native format)”生成调试
信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息
-ggdb
使 GCC 为 GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其
他的调试器来进行调试了 (如 ddx)
-g 和 -ggdb 也是分级别的
-g2
这是默认的级别,此时产生的调试信息包括扩展的符号表、行号、局部
或外部变量信息。
-g3
包含级别2中的所有调试信息,以及源代码中定义的宏
-g1
级别1(-g1)不包含局部变量和与行号有关的调试信息,因此只能够用于回溯
跟踪和堆栈转储之用。回溯跟踪指的是监视程序在运行过程中的函数调用历
史,堆栈转储则是一种以原始的十六进制格式保存程序执行环境的方法,两者
-g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的
-g
该选项可以利用操作系统的“原生格式(native format)”生成调试
信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息
-ggdb
使 GCC 为 GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其
他的调试器来进行调试了 (如 ddx)
-g 和 -ggdb 也是分级别的
-g2
这是默认的级别,此时产生的调试信息包括扩展的符号表、行号、局部
或外部变量信息。
-g3
包含级别2中的所有调试信息,以及源代码中定义的宏
-g1
级别1(-g1)不包含局部变量和与行号有关的调试信息,因此只能够用于回溯
跟踪和堆栈转储之用。回溯跟踪指的是监视程序在运行过程中的函数调用历
史,堆栈转储则是一种以原始的十六进制格式保存程序执行环境的方法,两者
都是经常用到的调试手段。
转载自:http://www.hackvip.com/article/sort0136/sort0186/Hackvip_183768.html
另外: man gcc 中搜索 -glevel也可以找到具体的解释
- gcc 的 -g 和 -ggdb 选项
- gcc 的 -g 和 -ggdb 选项
- gcc 的 -g 和 -ggdb 选项
- gcc 的 -g 和 -ggdb 选项
- gcc 的 -g 和 -ggdb 选项
- gcc 的 -g 和 -ggdb 选项
- -g、-ggdb、-g3和-ggdb3之间的区别
- gcc 和g++编译选项详解
- gcc/g++ 命令的常用选项
- gcc/g++ 命令的常用选项
- gcc/g++ 命令的常用选项
- [C++] gcc/g++ 命令的常用选项
- gcc选项-g与-rdynamic的异同
- gcc选项-g与-rdynamic的异同
- gcc/g++ 命令的常用选项
- gcc选项-g与-rdynamic的异同
- gcc/g++ 命令的常用选项
- gcc选项-g与-rdynamic的异同
- linux 杂项
- Google:社交领域的下一个Foursquare?
- set:: lower_bound
- 第15周作业一
- LHF Objective-C语法(13)KVC KVO
- gcc 的 -g 和 -ggdb 选项
- 第15周作业二
- 解决ora-12514和01034、27101
- 关系数据库
- 无法从“WCHAR [260]”为“std::_Vb_iterator<_Sizet,_Difft,_MycontTy>”推导 模板 参数
- Android4.0.3 显示系统深入理解
- 第15周作业三
- hive运行报Call to master/**.** failed on local exception: java.nio.channels.ClosedByInterr
- 哲理故事与管理之道(8)-挖一口属于自己的井