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的主要内容,如果未能解决你的问题,请参考以下文章