• GDB 调试程序


    1. 初始化

    gdb 是对已经编译成功程序到调试, 并且为了保证可执行程序时包含调试信息, 编译时使用 -g 参数来指明

    sublimetext ctrl+B 生成到可执行文件不能直接被 gdb 调试

    2. 暂停程序

    gdb 可以实用几种方式来暂停程序: 断点, 观察店, 捕捉点, 信号, 线。 当程序被暂停后, 可以使用 continue, next, step 来继续执行程序

    continue 执行到下一个暂停点或程序结束

    next 执行下一行代码但进入函数内部

    step 执行下一行代码并且进入函数内部

    (1)设置断点

      a. break +[源代码行号]

      b. break ... if ... condition ... 比如 break ... if i = 100 来设置循环次数

    (2) 设置观察点

      a. watch +[变量][表达式] 当变量或表达式改变时即停住程序

      b. rwatch +[变量][表达式] 当变量或表达式被读时, 停住程序

      c. awatch+[变量][表达式] 当变量或表达式被读写时, 停住程序

    2. 查看信息

      (1) 查看数据

        a. print variable 查看变量

    BTW

    1. 列文件清单

      List, 列出源文件, 按 enter 逐渐显示出下面几行

    2. 执行程序

      b(break) +[][] 添加断点

      n 开始单步调试

    3. 断点操作

      delete index 删除第 index 个断点

      enable index 使第 index 个断点 enable

      disable index 使第 index 个断点 disable

    4. 函数调用

      call name 调用并执行一个函数

      call function(1,3)

      call printf("abcd")

  • 相关阅读:
    Java中的流
    多种日志收集工具比较
    UML类图几种关系的总结
    从数组中找出第K大的数
    数组各种排序算法和复杂度分析
    时间复杂度和空间复杂度
    Java Classloader原理分析
    WebSocket
    TCP/IP详解--TCP连接中TIME_WAIT状态过多
    TCP协议
  • 原文地址:https://www.cnblogs.com/xinsheng/p/3484235.html
Copyright © 2020-2023  润新知