remote gdb

Posted csuyangpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了remote gdb相关的知识,希望对你有一定的参考价值。

moonx@moonx:/usr/download/test/mygcc$ cat testthread.cc -n
     1    // thread example
     2    #include <iostream>       // std::cout
     3    #include <thread>         // std::thread
     4     
     5    void foo() 
     6    {
     7      // do stuff...
     8    }
     9    
    10    void bar(int x)
    11    {
    12      // do stuff...
    13    }
    14    
    15    int main() 
    16    {
    17      std::thread first (foo);     // spawn new thread that calls foo()
    18      std::thread second (bar,0);  // spawn new thread that calls bar(0)
    19    
    20      std::cout << "main, foo and bar now execute concurrently...
";
    21    
    22      // synchronize threads:
    23      first.join();                // pauses until first finishes
    24      second.join();               // pauses until second finishes
    25    
    26      std::cout << "foo and bar completed.
";
    27      while(1) std::cout << "dddd" << std::endl;
    28      return 0;
    29    }


moonx@moonx:/usr/download/test/mygcc$ ps aux |grep a.out 
moonx 21046 0.0 0.0 15976 976 pts/22 S+ 11:34 0:00 grep --color=auto a.out
moonx@moonx:/usr/download/test/mygcc$ gdbserver 192.168.3.199:8084 nohup ./a.out &
[1] 21068
moonx@moonx:/usr/download/test/mygcc$ Process nohup created; pid = 21073
Listening on port 8084
Remote debugging from host 192.168.5.45
nohup: ignoring input and appending output to nohup.out


moonx@moonx:/usr/download/test/mygcc$ tail -f nohup.out 

main, foo and bar now execute concurrently...
foo and bar completed.
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
dddd
yangpeng@mx:~/develop/apollo$ gdb
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 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 "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) target remote 192.168.3.199:8084
Remote debugging using 192.168.3.199:8084
Reading /usr/bin/nohup from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /usr/bin/nohup from remote target...
Reading symbols from target:/usr/bin/nohup...Reading /usr/bin/a35c78152db5d2034893ca21a04cc8ab08094f.debug from remote target...
Reading /usr/bin/.debug/a35c78152db5d2034893ca21a04cc8ab08094f.debug from remote target...
(no debugging symbols found)...done.
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading symbols from target:/lib64/ld-linux-x86-64.so.2...Reading /lib64/ld-2.23.so from remote target...
Reading /lib64/.debug/ld-2.23.so from remote target...
(no debugging symbols found)...done.
0x00007ffff7dd7c30 in ?? ()
   from target:/lib64/ld-linux-x86-64.so.2
(gdb) list
No symbol table is loaded.  Use the "file" command.
(gdb) b main
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (main) pending.
(gdb) b testthread.cc:27
No symbol table is loaded.  Use the "file" command.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (testthread.cc:27) pending.
(gdb) c
Continuing.
Reading /lib/x86_64-linux-gnu/libc.so.6 from remote target...
Reading /lib/x86_64-linux-gnu/libc-2.23.so from remote target...
Reading /lib/x86_64-linux-gnu/.debug/libc-2.23.so from remote target...
warning: the debug information found in "/usr/lib/debug/lib/x86_64-linux-gnu//libc-2.23.so" does not match "target:/lib/x86_64-linux-gnu/libc.so.6" (CRC mismatch).

process 21073 is executing new program: /usr/download/test/mygcc/a.out
Reading /usr/download/test/mygcc/a.out from remote target...
Reading /usr/download/test/mygcc/a.out from remote target...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading /lib64/ld-2.23.so from remote target...
Reading /lib64/.debug/ld-2.23.so from remote target...
Reading /usr/lib/x86_64-linux-gnu/libstdc++.so.6 from remote target...
Reading /lib/x86_64-linux-gnu/libgcc_s.so.1 from remote target...
Reading /lib/x86_64-linux-gnu/libpthread.so.0 from remote target...
Reading /lib/x86_64-linux-gnu/libc.so.6 from remote target...
Reading /lib/x86_64-linux-gnu/libm.so.6 from remote target...
Reading /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 from remote target...
Reading /usr/lib/x86_64-linux-gnu/.debug/libstdc++.so.6.0.21 from remote target...
Reading /lib/x86_64-linux-gnu/.debug/libgcc_s.so.1 from remote target...
Reading /lib/x86_64-linux-gnu/7c21299099640a6d863e423d99265824e7bb16.debug from remote target...
Reading /lib/x86_64-linux-gnu/.debug/7c21299099640a6d863e423d99265824e7bb16.debug from remote target...
Reading /lib/x86_64-linux-gnu/libc-2.23.so from remote target...
Reading /lib/x86_64-linux-gnu/.debug/libc-2.23.so from remote target...
warning: the debug information found in "/usr/lib/debug/lib/x86_64-linux-gnu//libc-2.23.so" does not match "target:/lib/x86_64-linux-gnu/libc.so.6" (CRC mismatch).

Reading /lib/x86_64-linux-gnu/libm-2.23.so from remote target...
Reading /lib/x86_64-linux-gnu/.debug/libm-2.23.so from remote target...
warning: the debug information found in "/usr/lib/debug/lib/x86_64-linux-gnu//libm-2.23.so" does not match "target:/lib/x86_64-linux-gnu/libm.so.6" (CRC mismatch).


Breakpoint 1, main () at testthread.cc:16
16    testthread.cc: No such file or directory.
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) list
22    in testthread.cc
(gdb) list
22    in testthread.cc
(gdb) list
22    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) cc
Undefined command: "cc".  Try "help".
(gdb) 
Undefined command: "cc".  Try "help".
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) c
Continuing.

Breakpoint 2, main () at testthread.cc:27
27    in testthread.cc
(gdb) 

 

以上是关于remote gdb的主要内容,如果未能解决你的问题,请参考以下文章

Android remote gdb

gdb 8.0.1连接qemu时,出现“Remote 'g' packet reply is too long”

Hi35xx NVR GDB调试

Android GDB 调试

Hi35xx NVR GDB调试

GDB 显示损坏的指令地址偏移