社区
其它技术问题
帖子详情
Linux下GDB调试的几个问题。
Javesun
2010-06-24 09:38:18
新手刚开始学习Linux下的编程,有以下几个问题:
1)一个项目有个多个文件,在产生目标文件时,有的增加了-g,有的没有增加-g,这样能调试吗?
2)用make、make install 生成的程序,如何用GDB调试?是在makefile文件中修改成(增加) -g吗?
3)如果用make、make install 生成一个shell命令文件和一个程序,在启动时是通过该shell命令来启动的,这样的情况下如何调试?
...全文
192
8
打赏
收藏
Linux下GDB调试的几个问题。
新手刚开始学习Linux下的编程,有以下几个问题: 1)一个项目有个多个文件,在产生目标文件时,有的增加了-g,有的没有增加-g,这样能调试吗? 2)用make、make install 生成的程序,如何用GDB调试?是在makefile文件中修改成(增加) -g吗? 3)如果用make、make install 生成一个shell命令文件和一个程序,在启动时是通过该shell命令来启动的,这样的情况下如何调试?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ztenv
2010-07-15
打赏
举报
回复
[Quote=引用楼主 javesun 的回复:]
新手刚开始学习Linux下的编程,有以下几个问题:
1)一个项目有个多个文件,在产生目标文件时,有的增加了-g,有的没有增加-g,这样能调试吗?
2)用make、make install 生成的程序,如何用GDB调试?是在makefile文件中修改成(增加) -g吗?
3)如果用make、make install 生成一个shell命令文件和一个程序,在启动时是通过该shell命……
[/Quote]
1能调试,但是看不到符号及源程序
2最好还是加上-g,这样调试起来方便定位错误
goodluckyxl
2010-07-15
打赏
举报
回复
core文件生成要设置一个条件的
具体搜一下很简单 声称core文件后就可以用gdb分析找到具体行数
没有的加-g无法声称符号表 gdb认不出来无法很好断点调试
用shell启动有pid gdb可以接管pid进行调试
Gary@Tokyo
2010-07-14
打赏
举报
回复
过来学习,属于学习阶段
还没学到写makefile
赵4老师
2010-06-24
打赏
举报
回复
没有-g用gdb调试只不过看不到汇编指令对应的源代码,照样可以调试。
一般在源码中相应位置增加写日志到文件的方法调试就够用了。
用gdb最常用的情况是程序意外退出产生core文件,用gdb加载此core文件,
gdb 运行程序名 core.数字
再使用bt命令得到出错时的函数调用堆栈
Javesun
2010-06-24
打赏
举报
回复
[Quote=引用 2 楼 macrojj 的回复:]
3)如果用make、make install 生成一个shell命令文件和一个程序,在启动时是通过该shell命令来启动的,这样的情况下如何调试?
还是那么调试呗
[/Quote]
大哥,能再详细些不?我在想,用shell命令文件启动,在真正启动程序之前,它做了些其他的工作,这个可能是和程序的启动有关的。
Javesun
2010-06-24
打赏
举报
回复
[Quote=引用 1 楼 cattycat 的回复:]
调试的话,编译的时候要加-g选项,没有不能调试。
makefile中编译的地方加上-g吧,但估计能用makefile的估计很大了,调试起来也费劲。
调试不是都是gdb 程序名的么。
[/Quote]
是gdb 程序名,不是要有个条件的吗?要加-g gcc -g XXXX。
macrojj
2010-06-24
打赏
举报
回复
3)如果用make、make install 生成一个shell命令文件和一个程序,在启动时是通过该shell命令来启动的,这样的情况下如何调试?
还是那么调试呗
cattycat
2010-06-24
打赏
举报
回复
调试的话,编译的时候要加-g选项,没有不能调试。
makefile中编译的地方加上-g吧,但估计能用makefile的估计很大了,调试起来也费劲。
调试不是都是gdb 程序名的么。
Linux
-
GDB调试
Linux
-
GDB调试
Linux
下
gdb调试
用法
稍微小小介绍一下 gdb是GUN组织开发的
Linux
下的调试利器。一般用于调试C/C++程序。 GDB主要有以下4个功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。下 直接进入主题 这是本次用来测试的代码 #includ...
Linux
环境下gdb程序调试
Linux
环境下gdb程序调试
Linux
GDB 调试详解
介绍总结 GDB 调试
linux
下gdb 调试
编译加上参数 -g查看源码查看参数gdb可支持的变量显示格式有:x:按16进制格式显示变量d:按10进制格式显示变量u:按16进制格式显示无符号整型o:按8进制格式显示变量t:按2进制格式显示变量c:按字符格式显示变量f:按浮点数格式显示变量查看一个二级指针的数据先查看变量地址查看二级指针保存数据地址:二级指针存放的数据地址:0x406680查看该地保存的字符数据或者直接 x /31s *0x7fffffffcac0 查看查看内存值。
其它技术问题
3,881
社区成员
9,054
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章