社区
Linux/Unix社区
帖子详情
gdb调试可以查看应用程序源代码的原理是什么?
chen277910405
2011-07-08 03:56:37
请教各位,我们知道gdb 调试一个程序时,需要-g加入调试信息 gdb调试可以查看应用程序源代码的原理是什么?
有谁能帮忙解答一下吗?
谢谢了
...全文
499
12
打赏
收藏
gdb调试可以查看应用程序源代码的原理是什么?
请教各位,我们知道gdb 调试一个程序时,需要-g加入调试信息 gdb调试可以查看应用程序源代码的原理是什么? 有谁能帮忙解答一下吗? 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jernymy
2011-07-17
打赏
举报
回复
楼主可以参考makefile和gcc命令手册,有对-g的介绍,就是在程序中加入源码调试信息
所以一般项目都会有debug版本,和release版本
debug版本可以方便调试,不过程序会大
release版本程序小
IterZebra
2011-07-16
打赏
举报
回复
当加入-g参数的时候,在编译链接出来的二进制文件中,有专门的.debug段,这些段中存有调试使用的信息。这些信息包括行号、文件名等。
hrx1989
2011-07-15
打赏
举报
回复
[Quote=引用 5 楼 threeleafzerg007 的回复:]
两方面:
一是: gcc 或者 g++ -g 的时候,会把源文件文件名和行数加到二进制文件中(绝对路径)。 这样,你在gdb的时候,只要绝对路径保持一样,gdb就能找到相应的source code.
二是: 符号表.
[/Quote]
符号表是什么意思??
threeleafzerg007
2011-07-15
打赏
举报
回复
两方面:
一是: gcc 或者 g++ -g 的时候,会把源文件文件名和行数加到二进制文件中(绝对路径)。 这样,你在gdb的时候,只要绝对路径保持一样,gdb就能找到相应的source code.
二是: 符号表.
IamGooday
2011-07-15
打赏
举报
回复
符号表就是函数名的集合啦。
ww2000e
2011-07-15
打赏
举报
回复
http://blog.csdn.net/carry1314lele/article/details/4251452
http://www.ibm.com/developerworks/cn/linux/l-cn-embedded-ptrace/index.html
gdb基于ptrace库
就想叫yoko
2011-07-15
打赏
举报
回复
学习~~
刚学LINUX
今天看书上说 DEBUG版可能比RELEASE 大10倍
hotspring110
2011-07-15
打赏
举报
回复
[Quote=引用 5 楼 threeleafzerg007 的回复:]
两方面:
一是: gcc 或者 g++ -g 的时候,会把源文件文件名和行数加到二进制文件中(绝对路径)。 这样,你在gdb的时候,只要绝对路径保持一样,gdb就能找到相应的source code.
二是: 符号表.
[/Quote]+++
K_s_G
2011-07-11
打赏
举报
回复
mark
luomoweilan
2011-07-10
打赏
举报
回复
-g选项把调试信息加入到了程序中。
louyong0571
2011-07-08
打赏
举报
回复
-g的时候 把符号表之类的调试信息加进去了,所以-g编译出来要比不加-g的大很多。
gdb就根据这些信息来的
justkk
2011-07-08
打赏
举报
回复
把相关信息一起写入执行文件了吧
清华大学Linux操作系统
原理
与应用
1.3 开放
源代码
的Unix/Linux操作系统 8 1.3.1 Unix的诞生和发展 8 1.3.2 Linux的诞生 9 1.3.3 操作系统标准POSIX 9 1.3.4 GNU和Linux 9 1.3.5 Linux的开发模式 10 1.4 Linux内核 10 1.4.1 Linux内核的位置 10 1.4.2 ...
Linux开发入门:使用
gdb调试
C/C++入门教程
GDB(GNU symbolic debugger)简单地说就是一个调试工具... 在你调试你的程序之前,当你编译你的源程序时,不要忘了 -g 选项或其它相应的选项,才能将调试信息加到你要调试的程序中。例如:gcc -g -o hello hello.c 。
ARM开发详解.pdf
2.6.8
应用程序
中的异常处理 21 2.7 本章小节 21 ARM 应用系统开发详解──基于S3C4510B 的系统设计 2 第3 章 ARM 微处理器的指令系统 22 3.1 ARM 微处理器的指令集概述 22 3.1.1 ARM 微处理器的指令的分类与格式 22...
ARM详解 ARM入门必备
2.6.8
应用程序
中的异常处理 21 2.7 本章小节 21 ARM 应用系统开发详解──基于S3C4510B 的系统设计 2 第3 章 ARM 微处理器的指令系统 22 3.1 ARM 微处理器的指令集概述 22 3.1.1 ARM 微处理器的指令的分类与格式 22...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章