qiuri2008

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

运行:

  (gdb)  r

 

命令行带参:

  (gdb)  r  "参数1"  "参数2"

  (gdb)  set args "参数1"  "参数2"    //set  args  10 20 40

 

查看/设置 运行环境:

  (gdb)  show args     //查看命令行参数

  (gdb)  show paths    //查看运行路径  

  (gdb)  show env     //查看环境变量

  (gdb)  set evn  LINES=25  //设置环境变量  

 

设置断点 break:

  (gdb)  b  function

  (gdb)  b  linenum

  (gdb)  b  + offset

  (gdb)  b  - offset

  (gdb)  b  filename:function

  (gdb)  b  filename:linenum

  (gdb)  b  *address

  (gdb)  b  xxx  if <condition>    //b 18 if i==50

 

设置观察点:

  (gdb)  watch  expr    //表达式expr变化则停止

  (gdb)  rwatch  expr    //表达式expr被读时停止

  (gdb)  awatch  expr    //表达式expr被读写时停止

 

查看断点/观察点 info:

  (gdb)  i

  (gdb)  i  locals    //显示当前函数所有局部变量的值

  (gdb)  i b 3    //查看第三个断点

  (gdb)  i watchpoints

  (gdb)  i watchpoints n

 

设置自动显示:

  (gdb)  display i

  (gdb)  display  $pc    //显示当前内存地址

 

删除自动显示:

  (gdb)  delete display dnum

  (gdb)  disable display dnum

  (gdb)  enable display dnum

 

停止维护点

  (gdb)  delete

  (gdb)  clear      

  (gdb)  disable

  (gdb)  enable

  例子:

    clear          //清楚所有停止点

    clear  function    //清除该函数内部的所有停止点

    clear  filename:function

    clear  linenum    //清除某行上的停止点

    delete  n

    delete  n1-n2

    disable  n

    enable  n

 

单步调试next/step:

  (gdb)  n    //逐行执行语句,不进入函数体内部

  (gdb)  s    //逐行执行语句,进入函数内部 

 

查看源程序list:

  (gdb)  list  first,last

  (gdb)  list  linenum

 

查看运行数据print:

  print  /<f>  n    //显示变量n的值

  print  /<f>  ::n    //显示全局变量n的值

  print  /<f>  array  //显示数据的值

  print  /<f>  *array@length    //显示动态分配数组的值

  /<f>:为显示格式,其值为:x/d/u/o/t/a/c/f

 

查看变量类型:

  (gdb)  whatis  var        //获取变量的类型

  (gdb)  ptype  var/structname   //获取结构体定义 

  (gdb)  where            //函数的调用关系链

 

查看内存:

  (gdb)  x  addr    //查看内存

  (info)  line  n    //显示第n行的内存地址

 

改变程序执行流程:

  (gdb)  print i=10    //赋值

  (gdb)  print function  //执行一次函数

  (gdb)  set var i=15

  (gdb)  jump  linenum

  (gdb)  jump  address

  (gdb)  call  function    //强制调用函数

 

posted on 2017-09-28 10:47  江召伟  阅读(826)  评论(0)    收藏  举报