调试

函数断点
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 + 地址 打印对象的继承链

你可能感兴趣的:(调试)