美文网首页iOS 的那些事儿iOS 开发 深入浅出iOS
iOS开发之LLDB打印json数据显示中文

iOS开发之LLDB打印json数据显示中文

作者: naruto_yuqin | 来源:发表于2016-06-03 19:07 被阅读974次

    当发网络请求时加断点调试时,在Xcode的控制台使用lldb调试器po打印返回的json数据时,
    显示的还是unicode编码格式:
    "title":"\u8bc4\u8bba\u6807\u9898"
    如果想查看它的内容还需要一层一层的去获取它。然后打印,就是很麻烦。
    所以我就找办法能不能直接用命令直接把json数据里的中文直接打印显示中文。
    一个好的习惯帮助了我解决了该问题,就是每天都会去看看cocoaChina或者其他开发网站的技术文章(我觉得是个好习惯,这样可以扩展自己知识面,提高自己的技能)
    一个faceBook的chisel介绍文章,让我兴奋不已。为什么,因为安装它可以让LLDB的调试更加高效。
    于是我就进入chisel的github地址看了下它的使用,跟着它一步一步来安装设置。chisel的github地址

    安装chisel需要brew,如果你的mac没有安装brew,就需要安装一下home brew,教程链接如下:
    OS X 不可或缺的套件管理器Homebrew的安装及其常用命令
    安装好brew后,就可以执行一下命令

    brew update
    brew install chisel
    

    下面就是配置环境了,chisel在github上也有说明,但是是英文的。我就直接说说我自己的额安装步骤吧
    1.增加.lldbinit文件(如果没有),进入终端,执行

    touch ~/.lldbinit
    

    2.如果你会使用vim编辑器的话,直接执行 vim ~/.lldbinit,如果不会,就下载一个编辑器sublime或者UltraEdit都可以。添加内容(注意 import 后面的内容,是你安装完chisel终端显示的chisel的安装目录,不要把我这个复制过去,不一定是正确的,这里我忘了截图,真的不好意思)

    command script import /usr/local/opt/chisel/libexec/fblldb.py
    

    3.然后退出Xcode,重启xcode,设置断电,进入Xcode控制台的lldb调试器,先输入一下命令

    command source ~/.lldbinit
    

    到这里,安装配置步骤好了。
    下面重头戏来了,打印json数据,并且把json数据的中文显示出来,而不是显示unicode编码
    在lldb调试器上输入 help,你会看到有个pjson的命令,如下图,

    help.png

    这就是我们想要打印json所用的命令,如下图,json数据里的msg吗,哈哈,显示中文了。

    pjson打印.png

    真是是太好了,再也不用在lldb看unicode编码的json中文数据了。哈哈。。

    chisel不只是pjson很NB,它的其它的命令也很NB,很好用,比如
    pviews(打印控件的信息)、border(查看控件的边框,可以不用重写代码设置颜色等)、pclass(查看类的层级关系)。我还没研究很多,等有时间研究了,再分享出来。

    总之,chisel挺好用的,对lldb调试效率确实调高了不少。

    相关文章

      网友评论

      • CKTrue:responseObject是NSData类型,pjson 后加(字典)或(数组)
      • p_peng:(lldb) pjson responseObject
        楼主,我help能查到pjson命令,但是执行的时候报下面的错误,有办法解决吗?
        error: error: cannot initialize a parameter of type 'NSData * _Nonnull' with an rvalue of type 'long'
        note: passing argument to parameter 'data' here
        error: 1 errors parsing expression

      本文标题:iOS开发之LLDB打印json数据显示中文

      本文链接:https://www.haomeiwen.com/subject/tvcldttx.html