iOS开发技巧之LLDB打印支持frame或id类型

在断点调试时,我们有时侯祥看看我们应用视图的某个view的frame或者其他的id类型的值
直接输入:po xxxxView.frame总会提示一个错误,如下图:


错误提示.png

刚开始,我总是用代码NSlog去打印这些值,但是很不方便,经过摸索学习到了两种解决方法:

解决方法一

使用类型转换来打印frame,不用po(print object),使用p(print)来打印,如下图:

p打印.png
解决方法二

(这个就是长期也有效的解决了)
1.首先在用户根目录创建文件.lldbinit
2.然后使用vi编辑该文件,添加
display @import UIKit
target stop-hook add -o "target stop-hook disale",如下:

touch ~/.lldbinit
vim ~/.lldbinit
//可以拷贝过去
display @import UIKit
target stop-hook add -o "target stop-hook disale"
//wq退出

然后打个断点重新运行应用,出现如下提示,证明可以使用po打印了:

提示.png

现在输入 po xxxxView.frame就可以正常打印了。哈哈


po打印.png

如果你不想要了这种方法,直接删除.lldbinit文件就行了,即rm ~/.lldbinit不过我觉得比较方便。

注:这里的self是我自定义的view

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    CoderSC阅读 5,251评论 0 2
  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    小笨狼阅读 20,746评论 31 186
  • 前言 LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debug...
    Noskthing阅读 18,629评论 10 89
  • 前言 今天花了一天的时间终于把iOS的几种常见的调试方法给学习了一下,在这里给大家分享一下LLDB的使用,同时也是...
    Peak_One阅读 13,801评论 5 33
  • 1.HTML 中的脚本必须位于 与 标签之间。2.脚本可被放置在 HTML 页面的 和 部分中。3...
    不停在路上阅读 1,137评论 0 0