函数断点
breakpoint set —name “dtsDccDspSoftware::SetMasterVolume”
用po $x0和x/s $x1可以看到receiver和selector的内容:
crash堆栈信息
x0寄存器存储对象地址,x1存储方法名,x2及以后的寄存器存储参数
分析步骤:
checkout对应版本的代码
根据crash log,对相关函数设置断点
尝试还原现场,重现堆栈
查看嫌疑对象的malloc history
追踪上游,推断导致crash的原因
xcode调试技巧
在lldb中打印UI对象
- 可以在UIApplicationMain断点中添加@import UIKit
- 直接expr @import UIKit
chisel调试
- pvc显示当前vc
- pviews显示当前view的层级
- taplog 点击屏幕,程序会暂停,打印当前被打印的view地址
- presponder 打印事件响应链
- pclass + 地址 打印对象的继承链