还是不行啊,调试错误如下:(跟以前提示的错误一样)
(skyeye)remote-gdb
(skyeye)Remote debugging using host:12345
getpkt ("qSupported");
putpkt ("$#00");
getpkt ("?");
putpkt ("$S05#b8");
getpkt ("Hc-1");
�(��ǵ4�ǵ4�ǵ4�ǵ4�ǵ4�ǵ4�ǵ4�ȵ4�putpkt ("$#00");
getpkt ("qC");
putpkt ("$#00");
getpkt ("qOffsets");
putpkt ("$#00");
getpkt ("Hg0");
�(��ǵ4�ǵ4�ǵ4�ǵ4�ǵ4�ǵ4�ǵ4�ȵ4�putpkt ("$#00");
getpkt ("g");
putpkt ("$00000000c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000#38");
getpkt ("m0,8");
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#00x00000000 in ?? ()
#10xb57c825e in sim_debug () at debugger/gdbserver.c:1243
#20xb737b4c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#30xb72d484e in clone () from /lib/i686/cmov/libc.so.6
(gdb) l
491 }
492
493
494 /**
495 *The main function of skyeye
496 */
497
498 int
499 main (int argc, char **argv)
500 {
[ 本帖最后由 tenthplanet 于 2011-8-10 12:57 编辑 ] 这是个棘手的问题,非常感谢你们! 你把你的二进制的测试用例和skyeye.conf发过来,好吗?调一下,呵呵 您如果急于解决这个问题,权宜之计,您可以在utils/debugger/gdbserver.c中添加如下5行:
13 diff --git a/utils/debugger/gdbserver.c b/utils/debugger/gdbserver.c
14 index 0f9f541..2a3d973 100644
15 --- a/utils/debugger/gdbserver.c
16 +++ b/utils/debugger/gdbserver.c
17 @@ -1049,6 +1049,11 @@ sim_debug ()
18 write_ok (own_buf);
19 break;
20 case 'm':
21 + if (own_buf == '0')
22 + {
23 + own_buf = '\0';
24 + break;
25 + }
26 decode_m_packet (&own_buf, &mem_addr,
27 &len);
28 if ((get_trace_status() == TRACE_FOCUSING) && (is_in_ro_region(mem_addr,len) == 0))
(同样期待您的测试用例和skyeye.conf,我们想调一下,找出真正的bug所在) 例子和skyeye.conf已经附上,谢谢您的帮助,殷切期待问题解决!
依照您第2种方法,
似乎还是有问题
终端1:
(skyeye)remote-gdb
(skyeye)Remote debugging using host:12345
getpkt ("qSupported");
putpkt ("$#00");
getpkt ("?");
putpkt ("$S05#b8");
getpkt ("Hc-1");
�(����'���'���'���'���'���'���'���'�putpkt ("$#00");
getpkt ("qC");
putpkt ("$#00");
getpkt ("qOffsets");
putpkt ("$#00");
getpkt ("Hg0");
�(����'���'���'���'���'���'���'���'�putpkt ("$#00");
getpkt ("g");
putpkt ("$00000000c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000#38");
getpkt ("m0,8");
putpkt ("$#00");
getpkt ("m0,7");
putpkt ("$#00");
getpkt ("qSymbol::");
putpkt ("$#00");
屏幕停住
终端2:
(gdb) target remote 10.0.0.1:12345
Remote debugging using 10.0.0.1:12345
0x00000000 in ?? ()
(gdb) bt
#00x00000000 in ?? ()
[ 本帖最后由 tenthplanet 于 2011-8-15 13:48 编辑 ] 附件下载不了阿,这是我的邮箱:
[email protected] 您发的二进制文件和skyeye.conf下不下来,您能不能发到我的邮箱里去?
[email protected] 不好意思让您久等,这2天我人在外面。
明天我一到家就给您发,真是麻烦您了。 我已经发给您了,谢谢您的热情解答和帮助。 我在ubuntu1004上测了一下你的测试用例,没有重现你的错误:
lee@localhost:~/test/test_hello$ ~/gdb/gdb-7.1-realse/bin/arm-linux-gdb hello
GNU gdb (GDB) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=arm-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/lee/test/test_hello/hello...done.
(gdb) target remote :12345
Remote debugging using :12345
begin () at start.S:21
21 mov r0, #I_BIT|MODE_SVC
(gdb) b hello
Breakpoint 1 at 0x31000024: file hello.c, line 27.
(gdb) c
Continuing.
Breakpoint 1, hello () at hello.c:27
27 * paddr=hellostr;
(gdb) n
25 for(i=0;i<10;i++)
Breakpoint 1, hello () at hello.c:27
27 * paddr=hellostr;
(gdb)
skyeye官方只支持ubuntu和windows,您要不换一下ubuntu吧? 谢谢您的帮助,我想再去试下。。。
页:
1
[2]