长风破浪会有时,直挂云帆济沧海

Dream Word

博客园 首页 新随笔 联系 订阅 管理

gcc a.c b.c c.c -o app

gcc a.c b.c c.c -o app -g

  -g:会保留函数名和变量名

1:启动gdb  

  gdb 可执行程序的名字

  gdb app

  给程序传参:set args xxxx xxxx

2:查看代码--list

  l:默认main函数的文件,默认10行

  show listsize:修改默认显示行数

  set listsize 20:修改默认显示行数

  l 5:  l 行号 显示第5行的上下

  l main:  l 函数名字,显示main函数的上下

  l main.c:15:  显示main.cpp的上下文

  l main.c:function  显示main.cpp的function函数上下文

 

3:断点操作-break/b

  设置断点:break/ b 行号/函数名/文件名:行号/文件名:函数名

  查看断点:info/i b

  删除断点:del/d num(断点的编号)(d 2 3 4) ( d 2-4)

  设置断点无效:dis num(无效)  

  断点生效:ena num(有效)

  设置条件断点: b 17 if i==10  (p i 查看i的值)

4:调试相关命令

  start  :运行一行

  run/r :

  p i   :  print i(打印i)

  ptype i :  查看i的类型

  n         :  next 单步(不会进入函数体的内部)

  display i:   每次打印i

  i display:  

  undisplay num: 不输出显示

  c    : continu 继续走

  step    : 进入函数体的内部(单步但是会进入函数内部)

  finish  :退出函数体内部

  set var i=5 : 设置i的值

  until   :跳出当前循环

  q    :  退出

  

posted on 2018-03-25 13:24  长风II  阅读(112)  评论(0编辑  收藏  举报