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")

  • 相关阅读:
    shell80set变量
    shell79控制多进程的数量
    shell78管道
    sina sae开发中出现的问题
    html中代码高亮显示
    handlebars模板替换
    打印目录下所有的文件名(包含深层次目录)
    input为disabled提交后得不到该值的解决方法
    Global和Globals
    js算法运算
  • 原文地址:https://www.cnblogs.com/xinsheng/p/3484235.html
Copyright © 2011-2022 走看看