tenthplanet 发表于 2011-8-10 08:50:24

殷切期盼问题解决中...

xq2537 发表于 2011-8-10 11:28:31

您尝试打上这个patch看看。

tenthplanet 发表于 2011-8-10 12:54:49

谢谢您的指导,不过看起来好像
还是不行啊,调试错误如下:(跟以前提示的错误一样)

(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 编辑 ]

tenthplanet 发表于 2011-8-15 09:15:25

这是个棘手的问题,非常感谢你们!

xq2537 发表于 2011-8-15 10:57:22

你把你的二进制的测试用例和skyeye.conf发过来,好吗?调一下,呵呵

xq2537 发表于 2011-8-15 11:10:09

您如果急于解决这个问题,权宜之计,您可以在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所在)

tenthplanet 发表于 2011-8-15 13:41:24

例子和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 编辑 ]

xq2537 发表于 2011-8-15 14:08:13

附件下载不了阿,这是我的邮箱:
[email protected]

xq2537 发表于 2011-8-16 20:21:54

您发的二进制文件和skyeye.conf下不下来,您能不能发到我的邮箱里去?
[email protected]

tenthplanet 发表于 2011-8-17 15:05:01

不好意思让您久等,这2天我人在外面。
明天我一到家就给您发,真是麻烦您了。

tenthplanet 发表于 2011-8-18 08:10:57

我已经发给您了,谢谢您的热情解答和帮助。

xq2537 发表于 2011-8-21 16:49:02

我在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吧?

tenthplanet 发表于 2011-8-24 13:50:36

谢谢您的帮助,我想再去试下。。。
页: 1 [2]
查看完整版本: skyeye1.3.2 gdb远程调试:段错误