Chinaunix首页 | 论坛 | 博客
  • 博客访问: 325883
  • 博文数量: 63
  • 博客积分: 2344
  • 博客等级: 大尉
  • 技术积分: 628
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-13 11:09
个人简介

有一种沉默叫霸气,有一种内敛叫个性,有一种简单叫深遂,有一种不屑叫自我

文章分类

全部博文(63)

文章存档

2013年(10)

2012年(12)

2011年(1)

2010年(9)

2009年(31)

分类: LINUX

2013-08-02 12:45:34

1 查看可执行文件是否含有可调试信息:
    readelf    -S    filename | grep debug
or
    nm -a filename | grep debug
or
   readelf --debug-dump   

2 GDB 条件断点
    b    point/function if cond        //cond不能用()包围
    eg:    b 11 if i == 50    //i == 50时,在11行停住
    eg:    b 11 if strcmp(var, "aaa") == 0    //字符串变量为“aaa”时,

3 GDB 修改断点条件
    condition            //修改断点号为bnum的停止条件
    condition                //清除断点号为bnum的停止条件

4 GDB线程  
    set    scheduler-locking on
    info    threads
    t(thread)        //线程
    bt            //堆栈信息

5 对文件设置断点
   b    filename : rowNum    //在文件filenamerowNum行设置断点

6 GDB
进程
    attach    pid

7 GDB 设置环境变量
    set environment XXXX=xxxxxxx    //GDB中使用程序中要用到的环境变量

8 GDB 操作
    a. 打印:p/x    var    //十六进制显示。o: 八进制    t: 二进制    c: 字符    f: 浮点
    b. list -   //显示当前行前面的源程序
    c. watch         //表达式的值是否有变化,变化则停住
    d. rwatch        //expr被读时,停住
    e. awatch        //expr被读/写时停住
    f. 查看内存地址的值:examine
            eg:   x/        //n: 显示内存长度,f: 显示格式,u: 单位(b单字节, h双字节,w四字节,g八字节)
    g. 反汇编:disassemble    func
    h. 查看变量类型:whatis    var
阅读(1049) | 评论(0) | 转发(1) |
0

上一篇:C中特殊宏定义

下一篇:sscanf分割字符串

给主人留下些什么吧!~~