Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7278809
  • 博文数量: 512
  • 博客积分: 12019
  • 博客等级: 上将
  • 技术积分: 6857
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-01 16:46
文章分类

全部博文(512)

文章存档

2024年(2)

2022年(2)

2021年(6)

2020年(59)

2019年(4)

2018年(10)

2017年(5)

2016年(2)

2015年(4)

2014年(4)

2013年(16)

2012年(47)

2011年(65)

2010年(46)

2009年(34)

2008年(52)

2007年(52)

2006年(80)

2005年(22)

分类: LINUX

2011-06-15 20:14:53

GDB的print命令只能打印基本数据类型,像QString这样的复杂类型就不行了。
如果在调试过程中(命令行,或者xcode中)不能看QString的值,岂不是很不爽。幸好,gdb提供了扩展功能,可以自定义宏命令。
把自定义的命令放到$HOME/.gdbinit文件中,每次启动gdb时就可以自动加载了。
下面的代码是从网上摘录的,直接复制到$HOME/.gdbinit文件中就可以了。原文()
    define printqstring
        printf "(QString)0x%x (length=%i): \"",&$arg0,$arg0.d->size
        set $i=0
        while $i < $arg0.d->size
            set $c=$arg0.d->data[$i++]
            if $c < 32 || $c > 127
                    printf "", $c
            else
                    printf "%c", (char)$c
            end
        end
        printf "\"\n"
    end

使用方法与print一样
阅读(5044) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~