免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3621 | 回复: 7
打印 上一主题 下一主题

gdb调试问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-30 22:21 |只看该作者 |倒序浏览
1、gdb调试的时候,当前程序运行在a.cpp,想在b.cpp中的Cxx::fun()中设置断点,怎么切到b.cpp文件呢,因为有时候函数名称比较长,而且也想在调试的时候阅读其他文件的代码,文件跳转就很麻烦。现在是每次都要另外开一个终端,从那个终端中vi打开文件,并复制Cxx::fun()的函数名称,然后在原来的窗口中粘贴,b CXX::fun()才能下断点。

2、每次运行的时候,比如n一次,都只列出将要运行的下一行的代码,是否可以哪里设置下,让他也列出那一样附近的代码呢?

3、list的时候默认是显示10行代码,set listsize 20可以修改,但是没次退出gdb,下次在进入又变成默认的10行了,是否有个配置文件可以设置这个行数,让gdb每次启动都去读取这个配置文件,其他的set print pretty等选项也可以写到这个配置文件中。

================以上问题,期待高手解答,多谢先~~~

论坛徽章:
0
2 [报告]
发表于 2011-07-30 23:12 |只看该作者
自己顶下 不要沉啊

论坛徽章:
0
3 [报告]
发表于 2011-07-31 12:52 |只看该作者
没人回答吗?? 请教啊

论坛徽章:
0
4 [报告]
发表于 2011-07-31 14:48 |只看该作者
高手在哪里啊 请求解答

另外gdbtui在secureCRT里会乱码,而且在执行了代码后经常显示会乱掉,每次都要重新refresh一下才能正常显示,有解决的办法吗?还是大家一般在securecrt的时候都不用这个功能呢?

论坛徽章:
2
天蝎座
日期:2014-03-28 10:18:052015年亚洲杯之乌兹别克斯坦
日期:2015-02-10 11:32:25
5 [报告]
发表于 2011-07-31 15:32 |只看该作者
貌似都不难,但我完全不记得了{:3_191:}

论坛徽章:
0
6 [报告]
发表于 2011-07-31 17:20 |只看该作者
貌似都不难,但我完全不记得了
txdgtwpv 发表于 2011-07-31 15:32



    第三个问题我搞定了,gdb的时候带上 -x configfile 参数,把设置写在一个configfile文件中,这样启动的时候就自动执行里面的命令,简化点就是在.bashrc里alias下
alias gdb='gdb -x gdbconf'

论坛徽章:
0
7 [报告]
发表于 2011-07-31 20:11 |只看该作者
本帖最后由 dolphin1987 于 2011-07-31 20:13 编辑

解决第一个问题: 列出其它文件的代码:  list file_name:nums。 list默认是列出上次显示代码的接下来10行,通过上面的方法可以指定文件名。设置断点的时候也可以用这种方法,指定文件名。也可以不指定文件名,直接用Tab键补全,它会搜索所有的文件,当然前面是编译的时候编译所有的源文件都要带-g调试选项。

问题2 : gdb  n 默认就是列出下一个将要执行的语句呢 ,

论坛徽章:
0
8 [报告]
发表于 2011-08-01 19:02 |只看该作者
解决第一个问题: 列出其它文件的代码:  list file_name:nums。 list默认是列出上次显示代码的接下来10行, ...
dolphin1987 发表于 2011-07-31 20:11



    这个我懂的,我不是那个意思哦

问题1:我的意思是能否像vi那样进行文件跳转

问题2:我的意思是能否通过设置,每次n的时候,自动列出那附近的x(x>1)行呢



貌似不大好实现,gdb就先这样用了,也还能凑合哈

还是谢谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP