码迷,mamicode.com
首页 > 其他好文 > 详细

xcode调试打印QString

时间:2014-11-02 23:51:15      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:ar   使用   sp   文件   数据   代码   bs   amp   ef   

      xcode内置GDB,在调试工程过程中可以通过print命令打印基本的数据类型,但像QString这样复杂类型就不行了。虽然我们可以在程序代码通过添加Qt的调试打印语句qDebug()<<“debug strText:”<<strText 等方式查看对应的QString值,但这样在调试过程中,显然很不方便。幸好,gdb提供了扩展功能,可以自定义宏命令方式,把自定义的命令放到$HOME/.gdbinit文件中,每次启动gdb时就可以自动加载了,下面的代码是从网上摘录的:

    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 "\\u0x%04x", $c
            else
                    printf "%c", (char)$c
            end
        end
        printf "\"\n"
    end

这样xcode在调试工程过程中,就能使用print strText方式打印相应的QString类型值;

      以上是针对xcode4.0之前的版本,对于xcode4.0以后的版本,内置编译器换成了LLVM,原来的gdb更换成了lldb,也就是说上边自定义宏命令方式已不起作用,这时调试过程中我们可以采用另外一种方式,通过转换QString类型来打印相关字符串:print strText.tolatin1.data()。

xcode调试打印QString

标签:ar   使用   sp   文件   数据   代码   bs   amp   ef   

原文地址:http://www.cnblogs.com/sz-leez/p/4070152.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!