• GDB调试用列


    gdb -args ./Recvor -P 7000 -C ../server.conf -M true -D   带参数的调试

    GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-32.el5)
    Copyright (C) 2009 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-redhat-linux-gnu".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>...
    Reading symbols from /home/yan.liu/code/Cloud/cloud/bin/Recvor...done.
    (gdb) r
    Starting program: /home/yan.liu/code/Cloud/cloud/bin/Recvor -P 7000 -C ../server.conf -M true -D ture
    [Thread debugging using libthread_db enabled]
    Local Addr List:
    127.0.0.1
    127.0.0.1

     设置断点

    Program received signal SIGINT, Interrupt.
    0x0000003157acd722 in select () from /lib64/libc.so.6
    (gdb) break TCPEventHandler.cpp:59
    Breakpoint 1 at 0x410681: file TCPEventHandler.cpp, line 59.
    (gdb) break TCPEventHandler.cpp:153
    Breakpoint 2 at 0x410573: file TCPEventHandler.cpp, line 153.
    (gdb) break TCPServer.cpp:99
    Breakpoint 3 at 0x40d42c: file TCPServer.cpp, line 99.
    (gdb) break UserData.cpp:49
    Breakpoint 4 at 0x40a5f2: file UserData.cpp, line 49.
    (gdb) break UserData.cpp:49:92
    No source file named UserData.cpp:49.
    Make breakpoint pending on future shared library load? (y or [n]) y

    Breakpoint 5 (UserData.cpp:49:92) pending.
    (gdb) break UserData.cpp:92
    Breakpoint 6 at 0x40a78e: file UserData.cpp, line 92.
    (gdb) break UserData.cpp:128
    Breakpoint 7 at 0x40aa12: file UserData.cpp, line 128.

    gdb) break TCPEventHandler.cpp:59
    Note: breakpoint 1 also set at pc 0x410681.
    Breakpoint 8 at 0x410681: file TCPEventHandler.cpp, line 59.
    (gdb) c
    Continuing.


    查看设置的断点
    (gdb) info break
    Num Type Disp Enb Address What
    1 breakpoint keep y 0x0000000000410681 in TCPEventHandler::handle_input(ACE_HANDLE) at TCPEventHandler.cpp:59
    2 breakpoint keep y 0x0000000000410573 in TCPEventHandler::handle_exception(ACE_HANDLE) at TCPEventHandler.cpp:153
    3 breakpoint keep y 0x000000000040d42c in TCPServer::handle_timeout(ACE_Time_Value const&, void const*) at TCPServer.cpp:99
    4 breakpoint keep y 0x000000000040a5f2 in UserData::Process(IDataRecvor*) at UserData.cpp:49
    5 breakpoint keep y <PENDING> UserData.cpp:49:92
    6 breakpoint keep y 0x000000000040a78e in UserData::Process(IDataRecvor*) at UserData.cpp:92
    7 breakpoint keep y 0x000000000040aa12 in UserData::Process(IDataRecvor*) at UserData.cpp:128
    8 breakpoint keep y 0x0000000000410681 in TCPEventHandler::handle_input(ACE_HANDLE) at TCPEventHandler.cpp:59

    删除断点

    gdb) delete 8
    (gdb) info break
    Num Type Disp Enb Address What
    1 breakpoint keep y 0x0000000000410681 in TCPEventHandler::handle_input(ACE_HANDLE) at TCPEventHandler.cpp:59
    2 breakpoint keep y 0x0000000000410573 in TCPEventHandler::handle_exception(ACE_HANDLE) at TCPEventHandler.cpp:153
    3 breakpoint keep y 0x000000000040d42c in TCPServer::handle_timeout(ACE_Time_Value const&, void const*) at TCPServer.cpp:99
    4 breakpoint keep y 0x000000000040a5f2 in UserData::Process(IDataRecvor*) at UserData.cpp:49
    5 breakpoint keep y <PENDING> UserData.cpp:49:92
    6 breakpoint keep y 0x000000000040a78e in UserData::Process(IDataRecvor*) at UserData.cpp:92
    7 breakpoint keep y 0x000000000040aa12 in UserData::Process(IDataRecvor*) at UserData.cpp:128

    gdb) c
    Continuing.
    [Switching to Thread 0x40a00940 (LWP 15454)]

    Breakpoint 4, UserData::Process (this=0x7291d0, pRecvor=0x2aaaac12b800)
    at UserData.cpp:51
    51 UpdateTime();
    (gdb) n
    55 while(msg=GetMsg()){
    (gdb) n
    56 type=msg->GetType();

    (gdb) display type
    2: type = COMMAD
    (gdb) c
    Continuing.

  • 相关阅读:
    IP和java.net.InetAddress类的使用
    Redis(五):几个常用概念
    Redis(一):概述
    mongodb写入策略(WriteConcern)
    mongodb配置详解
    MongoDB优化
    Python 多进程异常处理
    Python多进程编程-进程间协作(Queue、Lock、Semaphore、Event、Pipe)
    Mongodb 性能测试
    把 MongoDB 当成是纯内存数据库来使用(Redis 风格)
  • 原文地址:https://www.cnblogs.com/rosesmall/p/2445547.html
Copyright © 2020-2023  润新知