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

  • 相关阅读:
    判断添加用户名的唯一性
    显示用户登录用户名
    security安全框架,用户登录安全认证与退出
    mybatis分页助手分页
    javaWeb删除一条及多条数据
    javaWeb手动分页步骤
    自定义格式日期
    iOS开发UI篇—懒加载
    IOS-添加分段控件SegmentControl
    iOS设计模式——Category
  • 原文地址:https://www.cnblogs.com/zkw-2014/p/4417972.html
Copyright © 2011-2022 走看看