原创 GDB7.2 Remote 'g' packet reply is too long问题的处

2011-9-16 12:34 3538 1 1 分类: MCU/ 嵌入式
最近开始学习嵌入式系统,经过选择比较决定采用Eclipes+CDT+GDB的方式进行应用程序的开发。
Eclipes+CDT的安装网上有好多参考资料,安装也很顺利
GDB我从网上下载的是7.3版本,安装完成调试时出现Remote 'g' packet reply is too long错误,换成7.2的
出现相同的问题。从网上查找解决办法,有很多人遇到相似问题。在一个帖子中找到了解决方案

if (buf_len > 2 * rsa->sizeof_g_packet)
error (_(“Remote ‘g’ packet reply is too long: %s”), rs->buf);
在其后添加:

if (buf_len > 2 * rsa->sizeof_g_packet) {
rsa->sizeof_g_packet = buf_len ;
for (i = 0; i < gdbarch_num_regs (gdbarch); i++) {
if (rsa->regs.pnum == -1)
continue;
if (rsa->regs.offset >= rsa->sizeof_g_packet)
rsa->regs.in_g_packet = 0;
else  
rsa->regs.in_g_packet = 1;
}     
}

很不幸的是我照着上述方法去做,编译失败

只能自己修改了,将代码改为如下后,编译通过,调试正常
if (buf_len > 2 * rsa->sizeof_g_packet) {
      rsa->sizeof_g_packet = buf_len ;
      for (i = 0; i < gdbarch_num_regs (gdbarch); i++)
      {
         if (rsa->regs.pnum == -1)
         continue;

         if (rsa->regs.offset >= rsa->sizeof_g_packet)
         rsa->regs.in_g_packet = 0;
         else
         rsa->regs.in_g_packet = 1;
      }
   }


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
1
关闭 站长推荐上一条 /3 下一条