zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    01背包
    用动态规划求两个自然数的最大公约数
    编程实现文件的复制功能,要求源文件名及目标文件名在程序运行后根据提示输入
    this和super
    JAVA中static的使用
    结构化异常处理 笔记
    继承和多态 笔记
    javascript 客户端验证和页面特效制作 学习笔记
    定义封装的类类型 笔记
    C# 核心编程结构Ⅱ 笔记
  • 原文地址:https://www.cnblogs.com/rosesmall/p/2445547.html
Copyright © 2011-2022 走看看