调试

函数断点
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 + 地址 打印对象的继承链
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容