zoukankan      html  css  js  c++  java
  • remote gdb

    https://blog.csdn.net/snow_5288/article/details/72982594
    https://alex.dzyoba.com/blog/gdb-source-path/

    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
    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) 
  • 相关阅读:
    (转)分布式加载网站的静态文件
    (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
    (转)SQL Server复制入门(一)复制简介
    (转)【配置属性】—Entity Framework实例详解
    (转)动态Entity Framework查询:Dynamic Query 介绍
    (转)用扩展方法优化多条件查询
    (转)一步一步Asp.Net MVC系列_权限管理之权限控制
    (转 )Entity Framework Code First使用者的福音 EF Power Tool使用记之二(问题探究)
    (转)【工欲善其事必先利其器】—Entity Framework实例详解
    (转)C#/winform 腾讯QQ注册
  • 原文地址:https://www.cnblogs.com/cjyp/p/11770336.html
Copyright © 2011-2022 走看看