zoukankan      html  css  js  c++  java
  • 05.gdb入门(上)

    ◊基本框架:

      a)         Gdb功能

      b)         运行程序

      c)         查看源码

      d)         设置断点(break)与观察点(watch)

      e)         单步调试

      f)          Gdb常用命令总结

    5.1        gdb功能

    1)启动程序:

          Run(r),另外启动程序的时候还可以带上参数(argv[1],argv[2]……)

    2)    设置断点:

          设置断点:break(b)  +行号/函数名

                         另外设置断点的时候还可以用条件表达式(if)

                  删除断点:delete(d) + 断点号

                  查看断点:info break(i b)

    3)      查看变量信息:

                  Print  查看变量值

         Ptype  查看变量类型

    4)  动态改变程序的执行环境:

                  Print  变量=value     动态改变程序运行时变量的值

    5.2  运行程序

      1)      run(r)  运行程序

      2) run   + arg1  arg2…… (参数列表)

    5.3  查看源码

      1)      list(l)  查看最近10行源码

                  l  2,10  查看第2行到第10行的源码

                  l   ,15  查看最多到第15行的源码

      2)  list +fun(函数名)       查看fun函数源码

      3)  list +file:fun        查看file文件中的fun函数源码

      4) list +file:15         查看file文件中的第15行左右的源码

    5.4  设置断点(break)与观察点(watch)

      1)      break  行号

      2)  break  函数名

      3)  break  file:行号

      4)  break  file:函数名

      5)  break  if <condition>      条件成立时程序停住

      6) info    break(i b)         查看断点

      7)  watch   expr             一旦expr值发生改变,程序就停住

      8) delete   +断点编号       删除断点

    5.5  单步调试

      1)  continue(c)       运行至下一个断点

      2)  step(s)          单步跟踪,进入函数,类似于VC中的step  in

      3)      next(n)               单步跟踪,不进入函数,类似于VC中的step  out

      4)      finish                  运行程序,直到当前函数返回,并输出函数的返回值。

      5)  until                    退出循环体(for)

    5.6  gdb常用命令总结

      Run(r)                  运行程序

      List(l)                   列出源代码

      Break(b)              设置断点

      Info break(i b)             查看断点信息

      Continue(c)                   继续运行程序,直到下一个断点

      Watch                       设置观察点,一旦观察值发生改变,程序就停住

      Step(s)                           单步跟踪,进入函数,类似于VC中的step  in

      Next(n)                          单步跟踪,不进入函数,类似于VC中的step  out

      Finish                        退出函数,并输出函数的返回值。

      Until(u)                     退出循环体

      Print(p)                     查看变量值

    5.7 一些细节知识:

      1.在gdb调试过程中按Enter键代表重复执行上条命令;

      2.几个退出命令的比较:

        Until 退出循环(for)

        Finish 退出函数

        q    退出gdb

  • 相关阅读:
    【咖啡の设备】便携式冰滴壶——Dripo 使用体验 Experience Report of Ice Drip Coffee Maker——Dripo
    【异常记录(八)】 This operation requires IIS integrated pipeline mode.
    【异常记录(七)】MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法 [转] A potentially dangerous Request.Form value was detected from the client
    SQL优化:清理生产环境中已失效字段基本步骤 SQL optimization: basic steps to clean up invalid fields in production environments
    [转] sql server 跨数据库调用存储过程 SQL server calls stored procedures cross-databases
    获取lambda表达式类型,获取attributes是注意事项
    [笔记] SQL性能优化
    MSSQL 重建索引(在线重建、控制最大处理器数 、MAXDOP )
    [笔记] SQL性能优化
    [笔记] SQL性能优化
  • 原文地址:https://www.cnblogs.com/zkw-2014/p/4417972.html
Copyright © 2011-2022 走看看