GDB我从网上下载的是7.5版本,安装完成调试时出现Remote
'g' packet reply is too
long错误,从网上查找解决办法,有很多人遇到相似问题。在一个帖子中找到了解决方案
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;
}
}
编译出错。原因是regs现在是指针类型了,所以应该稍作修改
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;
}
}