LLDB常用指令

2016-02-25

update bt命令

debug模式下,程序crash后,进入lldb模式:
在终端输入bt 命令,Xcode会自动输出最后的一次调用堆栈:
这里写图片描述
里面有stop reason 等信息,从截图中可以看到[ViewController touchesBegin:withEvent:] 方法中出了问题。

2015-12-09更新

update1.对于一些经常po不出来的属性,可以先导入框架,如下图:

这里写图片描述

expr @import UIKit
p UIScreen.mainScreen.bounds
update2.打印NSData中的内容

正常情况下po NSData只会得到一堆二进制数据,而不是内容。常用的打印NSData内容的方法是转成NSString再打印NSString。
下面是直接得到NSData内容的方法:

po [data bytes]

会输出内存地址
这里写图片描述

然后在内存中搜索就能看到内容
这里写图片描述

这里写图片描述

1.po + 对象

(lldb) po self.view
<UIView: 0x7fe93bd21bf0; frame = (0 0; 414 736); autoresize = W+H; layer = <CALayer: 0x7fe93bd028a0>>

2.p + xx

可以是基础类型或者对象,但p+对象不会打印出详细信息只有内存地址。 打印下面count时如果使用点语法则console会报错,应该调用get方法。另外注意加上类型转换console才知道怎么处理。

(lldb) p (int)[ [ [self view] subviews] count]
(int) $1 = 2

也可以用po打印出基础类型

(lldb) po (int)[ [ [self view] subviews] count]
2

3.expr (expression)

使用expr改变变量的值,还没找到swift中的操作方法

expr name = @"Kevin Durant"
(__NSCFString *) $2 = 0x00007fe143d01e20 @"Kevin Durant"

这里写图片描述

4.断点

断点可以设置条件,action(如打印,debugger命令等)
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值