Linux下使用GDB调试程序的方法

Linux下使用GDB调试程序的方法
2008年09月10日 星期三 16:20

简要介绍一下是否gdb调试程序的方法:

  (1)进入gdb调试:
  gdb + 已经编译通过的可执行程序 -》 就进入调试模式。例如:gdb MiddlePublisher

  (2)r + 运行时的参数 -》 开始运行可执行程序。例如 r -lxml2 -f refile

  (3)b + 断点 -》设置调试的断点。两种:一种是:b CMSTask.cpp:200 表示在CMSTask.cpp文件的第200行设置断点。另一种:b TaskManager::buildPubWinTask 表示在执行buildPubWinTask这个函数的时候停止。

  (4)取消断点:
  dis 1 表示取消第一个断点
  dis 2 表示取消第二个断点

  (5)查看设置断点信息: info b

  (6)在断点停止处查看所在代码的详细信息:l

  (7)可以在gdb中直接编译,然后再重新运行时,gdb会直接执行新编译好的可执行程序。例如:直接在gdb下执行make后再重庆运行。

  (8)跟进一个函数:s
  如果设置的断点是在一个函数入口。到达该断点时,键入s就可以进入该函数内部进行调试。如果有多个函数就多次键入S来进入内部的函数。

  PS:
  1、在SecureCRT远程登录界面上开启多个窗口。在窗口之间切换时用:Alt+1,Alt+2.....表示切换到第1个,第2个窗口。

  2、同样在在SecureCRT远程登录界面上要粘贴复制好的内容用:Shift+Insert。

 

类别:Linux | 添加到搜藏 | 浏览( 41 ) | 评论  (0) <script> /*<![CDATA[*/ var pre = [true,'PHP获取当前日期和时间格式化方法', 'PHP获取当前日期和时间格式化方...','/effeee/blog/item/41639d5011c39a2243a75b05.html']; var post = [true,'GDB调试精粹及使用实例','GDB调试精粹及使用实例', '/effeee/blog/item/b7fa02e88d73b439b90e2d00.html']; if(pre[0] || post[0]){ document.write('<div style="height:5px;line-height:5px;">&nbsp;</div><div id="in_nav">'); if(pre[0]){ document.write('上一篇:<a href="' + pre[3] + '" title="' + pre[1] + '">' + pre[2] + '</a>&nbsp;&nbsp;&nbsp;&nbsp;'); } if(post[0]){ document.write('下一篇:<a href="' + post[3] + '" title="' + post[1] + '">' + post[2] + '</a>'); } document.write('</div>'); } /*]]>*/ </script>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值