zoukankan      html  css  js  c++  java
  • gdb调试小结

    gdb最基本的调试命令.
    1以调试程序test.cpp为例:
    进入调试环境 gdb test

    2.b 12
    在文件的第12行设置断点。
    删除断点:
    info b 列出所有的断点信息
    (gdb) info b
    Num Type           Disp Enb Address    What
    1   breakpoint     keep y   0x004010f1 in main at test.cpp:17
        breakpoint already hit 1 time
    2   breakpoint     keep y   0x00401120 in main at test.cpp:23
        breakpoint already hit 1 time
     
    要删除第2个断点
     d 2

    如果不指定断点号,则表示删除所有的断点

    3.r –d
    执行当前被调试的程序.-d是运行参数

    4.p variable
    打印数据内容

    5.l
    列出产生执行文件的源代码的一部分.

    6.n
    执行一行源代码但不进入函数内部。

    7.s
    执行一行源代码而且进入函数内部。

    8.c
    继续执行程序,直至下一中断或者程序结束。

    9.k
    终止正在调试的程序.

    10.q
    终止 gdb.

    附注:基本gdb命令:
    命令
    简写
    功能
    file
     
    装入想要调试的可执行文件.
    kill
    k
    终止正在调试的程序.
    list 
    l
    列出产生执行文件的源代码的一部分.
    next
    n
    执行一行源代码但不进入函数内部.
    step
    s
    执行一行源代码而且进入函数内部.
    continue
    c
    继续执行程序,直至下一中断或者程序结束。
    run
    r
    执行当前被调试的程序.
    quit
    q
    终止 gdb.
    watch
     
    使你能监视一个变量的值而不管它何时被改变.
    catch
     
    设置捕捉点.
    thread
    t
    查看当前运行程序的线程信息.
    break
    b
    在代码里设置断点, 这将使程序执行到这里时被挂起.
    make
     
    使你能不退出 gdb 就可以重新产生可执行文件.
    shell
     
    使你能不离开 gdb 就执行 UNIX shell 命令.
    print
    p
    打印数据内容。
    examine
    x
    打印内存内容。
    backtrace
    bt
    查看函数调用栈的所有信息。
  • 相关阅读:
    Redhat 8 nfs网络共享
    Cisco ASA NAT (1) 静态配置和端口映射
    DISM命令行工具修复Windows 10映像
    開啟windows 7 ,10 的熱點功能(無線熱點)
    symantec SMG 抓包
    在 MacBook 上安装 Ubuntu
    springboot整合的MongoDB(一){博主新人入坑,不对的地方还望大哥指出}
    feign接口无法传递参数 (初学者)
    low cache rba恢复到on disk rba
    控制文件被删除的测试
  • 原文地址:https://www.cnblogs.com/adong7639/p/3959528.html
Copyright © 2011-2022 走看看