playerthinker 发表于 2013-5-13 18:30:09

skyeye arm-linux-gdb调试问题

skyeye 用arm-linux-gdb 或者 arm-linux-insight进行远程调试时,状态寄存器的值始终为0。当执行到beq指令时,gdb 和insight死机,有人遇到过这种情况吗?解决了吗?

playerthinker 发表于 2013-5-15 23:12:41

经过跟踪,问题出现在
ARMul_Emulate32()
这个函数里面,在函数内部 进入了一个死循环,但由于这个函数太大(不知道什么原因,为什么要写这么大的函数,看得人头疼),还在分析中。
目前 除了 带eq 条件 和 cc条件的 指令无法执行外,其它条件 没有 测试。

[ 本帖最后由 playerthinker 于 2013-5-15 23:26 编辑 ]

playerthinker 发表于 2013-5-16 21:57:20

不知道怎么提交bug及 与开发团队 交流,只能在这里 发 帖了
我用的是 insight 6.8 ,在调试过程中,我发现在 skyeye gdbserver的RSP 协议,有一些没有实现,目前发现的 有H,V两个命令。

playerthinker 发表于 2013-5-17 00:27:44

不好意思。
已经确定是Z 包中的断点地址计算错误造成的,而断点地址 是由 gdb 计算的。
所以 目前基本确定 ,是由于 gdb 本身对arm 指令支持的 bug ,而非skyeye 的 bug。

ksh 发表于 2013-5-17 10:40:31

提交bug请到网站:
https://sourceforge.net/p/skyeye/bugs/

1、即使这个问题不是SkyEye本身的问题,建议也可以提交一个,并解释其解决方案
2、SkyEye确实只实现了部分常用的一些协议,有一些没有实现,也欢迎提交patch。

-- ksh
页: [1]
查看完整版本: skyeye arm-linux-gdb调试问题