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

  • 相关阅读:
    Oracle 12C ORA-65096: 公用用户名或角色名无效
    一张图记住PMP十大只是领域
    MAC系统升级后APACHE/MYSQL相关问题解决
    Mac配置Apache
    Android源码下载方法
    GIT 远程操作详解
    GIT 配置及常用命令
    安装Oracle-Redhat 5.4 64位
    近期工作计划
    新的起点
  • 原文地址:https://www.cnblogs.com/xinsheng/p/3484235.html
Copyright © 2011-2022 走看看