• 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.

  • 相关阅读:
    你不知道的JS
    Git学习攻略
    InteliJ Idea 编写项目常见的问题及解决方案
    上海租房攻略
    JS数组攻略
    Web开发必备的Chrome插件
    BFC和清除浮动
    Angular最新教程-第十一节 路由四 (嵌套路由)
    Angular最新教程-第十节 路由三(路由器钩子函数、路由守卫)
    Angular最新教程-第九节 路由二(路由策略、base标签、路由参数)
  • 原文地址:https://www.cnblogs.com/rosesmall/p/2445547.html
Copyright © 2020-2023  润新知