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

在Xcode中产看QString的数据

时间:2015-08-29 13:55:59      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

lldb中默认没有对于QString的支持,需要自己添加。

 1. 在用户目录下创建~/.lldb文件夹,并在文件夹中创建`qstring.py`文件。qstring.py中内容为:

import lldb    

    def utf16string_summary(value, *rest):    

       d = value.GetChildMemberWithName("d")    

       length = d.GetChildMemberWithName("size").GetValueAsSigned()    

       offset = d.GetChildMemberWithName("offset").GetValueAsSigned()    

       address = d.GetValueAsUnsigned() + offset    

       if length == 0:    

           return ""    

       error = lldb.SBError()    

       # UTF-16, so we multiply length by 2    

       bytes = value.GetProcess().ReadMemory(address, length * 2, error)    

       if bytes is None:    

            return ""    

       return "%s" % (bytes.decode(utf-16).encode(utf-8))    

 

     def __lldb_init_module(debugger, *rest):    

       print "registering QString"    

       summary = lldb.SBTypeSummary.CreateWithFunctionName("qstring.utf16string_summary")    

       summary.SetOptions(lldb.eTypeOptionHideChildren)    

       debugger.GetDefaultCategory().AddTypeSummary( lldb.SBTypeNameSpecifier("QString", False), summary ) 

 

 2. 创建 ~/.lldbinit文件,写入一条命令`command script import ~/.lldb/qstring.py`

 3. 重启Xcode即可生效

 

参考

https://github.com/tgebarowski/lldb-scripts

在Xcode中产看QString的数据

标签:

原文地址:http://www.cnblogs.com/vectorli/p/4769031.html

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