请教问题 英文gdb 的问题

收藏,988 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
下面是一段带标准输入的代码:
#include &stdio.h&
int main(void)
char buf[255];
/*if(fgets(buf, 255, stdin) == NULL)
fputs(buf, stdout);
我在gdb tui调试单步到fgets那一行代码时候,gdb就像卡死了一样,按字母回车什么的都不起作用,只有按CTRL+C能退出本次调试。但是,如果用gdb普通的模式,是可以输入的,请教一下各位大大这是什么原因?
同步到新浪微博
不要错过该问题的后续解决方案
如果你没找到答案,记得登录关注哦,大家会尽全力帮你解决的 ^___^
分享到微博?
关闭理由:
删除理由:
忽略理由:
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
内容质量差,或不适合在本网站出现
无意义讨论型问题
其他原因(请补充说明)
举报理由:
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复(请编辑该提问指向已有相同问题)
内容质量差,或不适合在本网站出现
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分106 UID9629632阅读权限10积分43帖子精华可用积分43 专家积分0 在线时间32 小时注册时间最后登录
白手起家, 积分 43, 距离下一级还需 157 积分
帖子主题精华可用积分43 专家积分0 在线时间32 小时注册时间最后登录
论坛徽章:0
用GDB调试的时候,只要一做断点,就出现“Program received signal SIGSEGV, segmentation fault”的错误,
如果没有任何断点的话就没有问题,程序正常运行
gdb用的是自己编译的 redhat insight(gdbui),从6.4试到最新的cvs,都是一个样子,不知道是不是编译出来的有问题:em12:
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分0 信誉积分200 UID7596647阅读权限100积分5626帖子精华可用积分5626 专家积分0 在线时间91 小时注册时间最后登录
帖子主题精华可用积分5626 专家积分0 在线时间91 小时注册时间最后登录
论坛徽章:0
原帖由 jemy.zhang 于
20:28 发表
用GDB调试的时候,只要一做断点,就出现“Program received signal SIGSEGV, segmentation fault”的错误,
如果没有任何断点的话就没有问题,程序正常运行
gdb用的是自己编译的 redhat insight(gdbui),从 ...
断点指令打错了。
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
空间积分0 信誉积分2449 UID阅读权限100积分137331帖子精华可用积分137331 专家积分55 在线时间4601 小时注册时间最后登录
帖子主题精华可用积分137331 专家积分55 在线时间4601 小时注册时间最后登录
论坛徽章:11
回复 #2 雨丝风片 的帖子
例如。。。?
I can explain it for you, but I can’t understand it for you.
空间积分0 信誉积分104 UID9512316阅读权限10积分79帖子精华可用积分79 专家积分0 在线时间3 小时注册时间最后登录
白手起家, 积分 79, 距离下一级还需 121 积分
帖子主题精华可用积分79 专家积分0 在线时间3 小时注册时间最后登录
论坛徽章:0
原帖由 jemy.zhang 于
20:28 发表
用GDB调试的时候,只要一做断点,就出现“Program received signal SIGSEGV, segmentation fault”的错误,
如果没有任何断点的话就没有问题,程序正常运行
gdb用的是自己编译的 redhat insight(gdbui),从 ...
你是不是用动态链接库什么的了?
如果是先运行一边,再设断电
空间积分0 信誉积分200 UID7596647阅读权限100积分5626帖子精华可用积分5626 专家积分0 在线时间91 小时注册时间最后登录
帖子主题精华可用积分5626 专家积分0 在线时间91 小时注册时间最后登录
论坛徽章:0
原帖由 MMMIX 于
19:19 发表
例如。。。?
断点指令打错了肯定会出现楼主的现象,但楼主的现象倒未必就是这个原因。
例如gdb打进目标程序的指令并不是该arch上的有效断点指令,或者在x86这样指令不等长的arch上,pc指针修正错误,
在未恢复断点的情况下将pc指向一个字节的断点指令之后的那个位置,这样就肯定会出SIGSEGV。
具体的原因需要楼主把gdb的调试信息打印打开再分析。
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
空间积分0 信誉积分200 UID7596647阅读权限100积分5626帖子精华可用积分5626 专家积分0 在线时间91 小时注册时间最后登录
帖子主题精华可用积分5626 专家积分0 在线时间91 小时注册时间最后登录
论坛徽章:0
可以这样:
1、出现SIGSEGV的时候先bt一下,看看是不是目标程序自身的问题。
2、若确认目标程序没有问题,则查看断点地址附近的内容,看看断点插入是否正确。
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处使用gdb调试无法在函数名设置断点,请教大家。
[问题点数:40分,结帖人NowDoIT]
使用gdb调试无法在函数名设置断点,请教大家。
[问题点数:40分,结帖人NowDoIT]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年12月 C/C++大版内专家分月排行榜第二2013年12月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 C/C++大版内专家分月排行榜第二2013年10月 C/C++大版内专家分月排行榜第二
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
2013年3月 C/C++大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年3月 C/C++大版内专家分月排行榜第三
2014年10月 C/C++大版内专家分月排行榜第三2014年4月 C/C++大版内专家分月排行榜第三
2014年10月 C/C++大版内专家分月排行榜第三2014年4月 C/C++大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 gdb的使用流程 的文章

 

随机推荐