美文网首页
如何通过MetricKit日志去定位问题代码

如何通过MetricKit日志去定位问题代码

作者: 林君毅小号_001 | 来源:发表于2024-01-23 19:13 被阅读0次

假设有如下日志
"crashDiagnostics": [ { "version": "1.0.0", "callStackTree": { "callStacks": [ { "threadAttributed": true, "callStackRootFrames": [ { "binaryUUID": "DC2EACEA-3D9C-3409-96C2-2DF9C89AD19D", "offsetIntoBinaryTextSegment": 6917586944, "sampleCount": 1, "subFrames": [ { "binaryUUID": "DC2EACEA-3D9C-3409-96C2-2DF9C89AD19D", "offsetIntoBinaryTextSegment": 6917586944, "sampleCount": 1, "subFrames": [ { "binaryUUID": "DC2EACEA-3D9C-3409-96C2-2DF9C89AD19D", "offsetIntoBinaryTextSegment": 6917586944, "sampleCount": 1, "subFrames": [ { "binaryUUID": "35463E49-9534-3644-B993-2A73C287A143", "offsetIntoBinaryTextSegment": 4329963520, "sampleCount": 1, "binaryName": "demo", "address": 4333717704 }]

那么我们可以通过atos来定位其代码所在

atos -arch arm64 -o <filePath> -l 0x1 0x102160002

其中0x102160001是offsetIntoBinaryTextSegment+1的十六进制值。之所以使用 -l 0x1,这是因为我们不知道二进制加载地址,或者操作系统在将二进制文件加载到内存中时使用的偏移。通过添加0x1,这使我们可以使用 atos -l 选项应用一个虚构的偏移,以便于符号化而不需要使用其他工具来确定我们需要用于符号化的正确地址。这也是为什么offsetIntoBinaryTextSegment需要加1的原因。
同样的,在这个例子中如果-l 0x2, 即虚拟偏移是2,则定位代码的地址则应该是offsetIntoBinaryTextSegment+2.
参考:https://developer.apple.com/forums/thread/681967

相关文章

  • iOS使用 Metrickit 收集崩溃日志

    iOS使用 Metrickit 收集崩溃日志 Metrickit 是什么 MetricKit 是 苹果在 iOS...

  • 2018-08-21网站请求+BUG定位

    如何定位Bug界面:先查看界面 样式 数据 显示是否有问题前端代码:F12 console前端日志报错,定位HTM...

  • mysql之恢复日志

    在mysql中,我们可以通过通用查询日志、慢查询日志、错误日志去定位系统问题。那如果由于误操作而丢失的数据,也可以...

  • 2018-08-21第十二天

    网站请求+BUG定位 如何定位Bug界面:肉眼看前端代码:F12 console前端日志报错,定位HTML错误行网...

  • springboot日志体系---log4j2

    最近调试代码和运行代码的时候,一些日志打印的乱七八槽,根据日志很难快速定位到问题,感觉自己是为了打印日志而打印日志...

  • 性能分析(持续更新中)

    开发中遇到的问题 崩溃问题 崩溃如何复现 如何定位到代码行上传dSYM文件之后,发生的崩溃可以定位到代码行定位到代...

  • 记百人计划--Linux实践

    主题:Linux实践 如何查看log?实时查看:tail -f 如何通过log定位问题通过log的描述定位会提问题...

  • IDEA远程调试Java代码,帮你提升bug修复效率

    1 前言 当我们的代码在线上/测试环境运行出现异常需要进行问题定位时,之前的传统做法是:查看异常日志,根据日志定位...

  • Jmeter日志输出和日志级别设置

    Jmeter运行出现问题可以通过调整jmeter的日志级别定位问题,但运行测试时建议关闭jmeter日志,jmet...

  • 线上Crash信息收集调试

    线上出现问题如何定位出错位置 第一种、自己收集奔溃信息 缺点:定位精度不够 第二种、dSYMf分析日志 通过Mac...

网友评论

      本文标题:如何通过MetricKit日志去定位问题代码

      本文链接:https://www.haomeiwen.com/subject/vbcpodtx.html