今天发现了SKYEYE的一个大BUG
通过GDB连接进行调试的时候无法设置寄存器。通过分析源代码,发现static void
store_inferior_registers (int regno, unsigned char *memory)
{
if (regno == -1 || regno == 0)
for (regno = 0; regno < current_reg_type->num_regs; regno++)
current_reg_type->fetch_register (regno,
&(memory));
else
current_reg_type->store_register (regno, &(memory));
}
store_inferior_registers 设置寄存器调用的竟然是fetch_register
这个就是维护人员CTRL+CCTRL+V的后果啊,呵呵
Re: 今天发现了SKYEYE的一个大BUG
通过GDB连接进行调试的时候无法设置寄存器。通过分析源代码,发现static void
store_inferior_registers (int regno, unsigned char *memory)
{
if (regno == -1 || regno == 0)
for (regno = 0; regno < current_reg_type->num_regs; regno++)
current_reg_type->fetch_register (regno,
&(memory));
else
current_reg_type->store_register (regno, &(memory));
}
store_inferior_registers 设置寄存器调用的竟然是fetch_register
这个就是维护人员CTRL+CCTRL+V的后果啊,呵呵
Michael 兄近来有点事情,我帮着回应,别砸砖头。:):)
估计应该是疏忽...
另引用今天看到的一句话(源自 FreeBSD China 的 delphij):
我认为开源的一个非常重要的乐趣在于,在你找到问题的时候,你可以去改掉它,并且通过将这些变动反馈给开发团队来让更多人受益
通过GDB连接进行调试的时候无法设置寄存器。通过分析源代码,发现
static void
store_inferior_registers (int regno, unsigned char *memory)
{
if (regno == -1 || regno == 0)
for (regno = 0; regno < current_reg_type->num_regs; regno++)
current_reg_type->fetch_register (regno,
&(memory));
else
current_reg_type->store_register (regno, &(memory));
}
store_inferior_registers 设置寄存器调用的竟然是fetch_register
这个就是维护人员CTRL+CCTRL+V的后果啊,呵呵
Michael 兄近来有点事情,我帮着回应,别砸砖头。:):)
估计应该是疏忽...
另引用今天看到的一句话(源自 FreeBSD China 的 delphij):
我认为开源的一个非常重要的乐趣在于,在你找到问题的时候,你可以去改掉它,并且通过将这些变动反馈给开发团队来让更多人受益
李兄言之有理啊,呵呵
Re: 今天发现了SKYEYE的一个大BUG
通过GDB连接进行调试的时候无法设置寄存器。通过分析源代码,发现static void
store_inferior_registers (int regno, unsigned char *memory)
{
if (regno == -1 || regno == 0)
for (regno = 0; regno < current_reg_type->num_regs; regno++)
current_reg_type->fetch_register (regno,
&(memory));
else
current_reg_type->store_register (regno, &(memory));
}
store_inferior_registers 设置寄存器调用的竟然是fetch_register
这个就是维护人员CTRL+CCTRL+V的后果啊,呵呵
感谢,可能是我写的时候疏忽了,最近比较忙。赫赫。。。
页:
[1]