Fork me on GitHub

gdb常用命令

一、启动gdb

 

1. gdb <program>, program是执行文件路径

2. gdb <program> <core>, gdb调试core文件,查找程序出错位置。如果程序中断没有产生core文件,ulimit –a可以查看到系统设置的core文件大小是0,用ulimit -c unlimited将core文件大小设为无限制即刻。

3. gdb <program> <PID>, 对于多进程程序,指定进程id

 

二、gdb命令

 

· file, 装载想要调试的程序

· set args, 如果不想通过r [args]执行的话,可以先set args再r

· watch,设置观察点监视变量值,在变量值改变处停止

· rwatch,观察点被读时停止

· display,在断点停止的地方显示指定表达式或变量值

· undisplay,取消display,需要display的id

· b,enable,disable,b if [condition], delete,断点操作

· ignore,忽略断点次数,如ignore 2 5,断点2在第6次才会停下

· shell <command>,不退出gdb执行shell命令

· info,打印信息

     info b,输出所有断点信息

     info watchpoints, 显示所有观察点

  •      info frame,输出当前帧信息
  •      info args,参数信息
  •      info locals,当前可以访问的局部变量信息

· print,输出,对于动态数组,p *name@len输出前len个数组元素

· ptype, 输出变量类型,可以输出一个结构的定义

· until,执行到某处

· command, 自动化测试。command 断点号,输入命令,那么每次遇到该断点都会自动执行这些命令

. up num, 向上到第num层frame

. down num,向下到第num层frame

. frame num, 直接转到第num层frame

 

posted on 2013-11-08 22:12  coderkian  阅读(284)  评论(0编辑  收藏  举报


作者:coderkian
出处:http://www.cnblogs.com/coderkian/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。