当发网络请求时加断点调试时,在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的命令,如下图,
这就是我们想要打印json所用的命令,如下图,json数据里的msg吗,哈哈,显示中文了。
pjson打印.png真是是太好了,再也不用在lldb看unicode编码的json中文数据了。哈哈。。
chisel不只是pjson很NB,它的其它的命令也很NB,很好用,比如
pviews(打印控件的信息)、border(查看控件的边框,可以不用重写代码设置颜色等)、pclass(查看类的层级关系)。我还没研究很多,等有时间研究了,再分享出来。
总之,chisel挺好用的,对lldb调试效率确实调高了不少。
网友评论
楼主,我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