主题 : gdbserver调试出来Remote 'g' packet reply is too long 复制链接 | 浏览器收藏 | 打印
sui
级别: 侠客
UID: 14645
精华: 0
发帖: 78
金钱: 395 两
威望: 79 点
综合积分: 156 分
注册时间: 2010-02-18
最后登录: 2019-01-05
楼主  发表于: 2011-01-23 18:58

 gdbserver调试出来Remote 'g' packet reply is too long

我装了个gdb7.2调试程序,可出来Remote 'g' packet reply is too long,是什么原因

换成6.8的就好了,但6.8编译时报错,要改几个文件
[ 此帖被sui在2011-01-23 23:23重新编辑 ]
级别: 荣誉会员
UID: 34761
精华: 0
发帖: 1348
金钱: 6835 两
威望: 1367 点
综合积分: 2696 分
注册时间: 2010-12-21
最后登录: 2017-06-02
1楼  发表于: 2011-01-25 00:04
没玩过gdbserver, 帮顶
级别: 新手上路
UID: 43722
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2011-04-19
最后登录: 2011-10-10
2楼  发表于: 2011-04-19 13:28
朋友你这个问题解决了吗?我也碰到这个问题了。能帮忙告诉一下嘛?我的qq是174781592 手机号为:15001337425
级别: 新手上路
UID: 38945
精华: 0
发帖: 41
金钱: 205 两
威望: 41 点
综合积分: 82 分
注册时间: 2011-03-03
最后登录: 2015-09-06
3楼  发表于: 2011-05-13 02:37
同问!谢谢
级别: 新手上路
UID: 54595
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2011-09-02
最后登录: 2011-09-02
4楼  发表于: 2011-09-02 13:45
为了回答你的问题专门注册的号。

这是我找到的答案。
http://blog.zhengrui.info/2011/06/gdb-g-packet-reply-too-long/

GDB远程调试错误解决
使用GDB 7.2版本进行远程调试时出现:Remote ‘g’ packet reply is too long错误,需要修改gdb代码解决,办法是:修改gdb/remote.c文件,屏蔽process_g_packet函数中的下列两行:
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;
}    
}