项目开发-lldb中的常用的调试命令
2016-12-28 本文已影响8人
我有一只小毛驴_从来都不骑
- 在项目的开发中,崩溃是常有的事情,有的有崩溃信息,这个还好解决,也很容易看懂,一般只需要看
reason
后面的信息就可以知道事什么原因崩溃的,如果想知道具体的,就看下面的信息,一般是在3-5
行 - 还有一种情况就是没有崩溃信息 直接是
lldb
这种情况-
po
用于输出 Objective-C 对象
-
po [self view]
这会打印一些关于 view 的一些信息,比如frame clipsToBounds contentOffset
-
p
用于输出基本类型
p (int)[[[self view] subviews] count]
这会打印(int) $2 = 2
-
call
是调用的意思,不显示输出,比如call [self.view setBackgroundColor:[UIColor yellowColor]]
继续运行程序,view
的颜色会变成黄色 -
bt
打印调用堆栈,加all可打印所有thread的堆栈
找出问题的地址 -
image
命令可用于寻址,有多个组合命令。比较实用的用法是用于寻找栈地址对应的代码位置
image lookup --address 0x000000010b214a32
这样会返回
[HomePageViewController viewDidLoad] + 154 at HomePageViewController.m:107
我们可以看到,出错的位置是HomePageViewController.m
的第107行。