LLDB中的小技巧

1、打印视图层次结构
po [self.view recursiveDescription]

 

 
2、临时调整界面UI
     比如说现在你需要改变一个控件的背景色来更好的查看布局的问题,这是就不需要重新跑一下项目:
     

 

然后继续执行代码就可以实现更改。call命令也可以实现这个效果。
     说是执行(lldb) e (void)[CATransaction flush] 就不用等到继续执行就能看到效果,但是通过实验并没有达到想要的效果。
     e 命令还可以定义变量,然后再调试中使用:
        我们可以使用e命令定义变量,然后在调试中使用。看如下的例子:
1
2
3
4
5
6
7
8
9
10
11
12
 
(lldb) e NSString *$str = @"http://www.huangyibiao.com"
(lldb) po $str
http://www.huangyibiao.com
 
(lldb) e int $count = 10
(lldb) p $count
(int) $count = 10
(lldb) e NSArray *itemArray = @[@"Test", @"Demo", @"huangyibiao"]
(lldb) po $count
10
 
 
我们使用e声明了$str变量,然后下面就可以使用了。我们看到通过p命令打印出来的都是$开头的变量了吗?我们在声明和使用时也需要加上$符号,与PHP一样!
在调试时,有时候想临时计算一下某个值来比较时,就可以通过这种方式来实现了,再也不用到源代码处添加上声明实现然后添加一句打印了,是否便利了很多?
3、修改变量值
     expr variable = newValue
     
4、监测某一个内存地址的内同改变
     watchpoint set -v variable
如下图:

 

   
5、条件断点
     在“Edit Breakpoint…”中可以填入需要满足断点的条件,满足条件就会断住程序。
     其中还可以添加action:

 

     同时也可以在Debugger中修改变量的值,同样适用expr,如下图:

 

下面打上勾是让程序运行到这个位置不被断住。
     也可以在Log Message 中实现在调试过程中不用加入NSLog就能方便的输出日志的需求。
6、随着xcode版本的跟新,好多以前可以在debug中的堆栈信息中看到函数的调用顺序,但是,现在的xcode隐藏了一些信息,如果想看完整的调用堆栈就使用bt命令,显示函数调用的堆栈。
posted @   学习中的分享  阅读(545)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)
点击右上角即可分享
微信分享提示