美文网首页
iOS dSYM奔溃文件解析

iOS dSYM奔溃文件解析

作者: langkee | 来源:发表于2022-05-28 21:39 被阅读0次

前言

iOS开发中,通常会遇到很多各种各样的线上奔溃,这无疑给用户带来了极其不好的体验。在平时开发过程中,我们可以直接通过断点调试,或直接查看奔溃的地方找到原因,但是一般情况下,线上的奔溃由于都是一些地址和偏移量组成的未符号化过的奔溃文件(即crash文件),我们都无法通过奔溃信息直接定位到具体原因!因此,将未符号化的crash文件通过dSYM解析就非常重要了。

本文主要简单地介绍如何将奔溃文件符号化,变成清晰可见的奔溃文件,以便快速定位奔溃原因。

解析步骤

  • 在任意目录,这里以桌面为例,创建文件夹CrashParser(名字随意)
cd ~/Desktop && mkdir CrashParser && cd CrashParser
  • xxx.crashxxx.app.dSYM文件拖到CrashParser文件夹中

  • 解析并查看符号化(解析)后的奔溃信息

cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash . && export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer" && ./symbolicatecrash xxx.crash xxx.app.dSYM > ParsedSymbol.crash && open ParsedSymbol.crash

其中,将xxx.crash xxx.app.dSYM中的xxx替换成对应的完整奔溃文件名和dSYM文件名,其它的都可以不用修改,直接执行即可。

例如,下面的奔溃文件在解析前为UnparsedSymbol.crashdSYM文件夹为Demo.app.dSYM

➜  CrashParser ls
Demo.app.dSYM        UnparsedSymbol.crash
➜  CrashParser cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash . && export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer" && ./symbolicatecrash UnparsedSymbol.crash Demo.app.dSYM > ParsedSymbol.crash && open ParsedSymbol.crash

在执行之后,变成如下

➜  CrashParser ls
Demo.app.dSYM  ParsedSymbol.crash  UnparsedSymbol.crash symbolicatecrash

其中ParsedSymbol.crash就是最终解析后的符号化文件,symbolicatecrash是我们用于执行解析的可执行文件,这个可执行文件来源于Xcode

注意点

通常情况下,可执行文件symbolicatecrash的路径/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash是不变的,如果你不确定这个路径是否正确,通过以下命令可以查看

find /Applications/Xcode.app -name symbolicatecrash -type f

如果出现错误Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.,执行如下命令

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

附录

相关文章

  • iOS dSYM奔溃文件解析

    前言 在iOS开发中,通常会遇到很多各种各样的线上奔溃,这无疑给用户带来了极其不好的体验。在平时开发过程中,我们可...

  • iOS 第三方dSYM定位BUG

    iOS 如何找到或生成 .dSYM 文件系统崩溃日志或者手机奔溃日志 第三方日志包含:友盟日志,talkingda...

  • iOS 如何找到或生成 .dSYM 文件

    iOS 第三方dSYM定位BUG系统崩溃日志或者手机奔溃日志 0.生成 .dSYM 配置介绍 1.发布模式 Xco...

  • iOS 友盟错误统计

    友盟错误奔溃后,会有一个奔溃日志,但是很难看懂。那么问题来了,怎么才能把它变成能看懂的呢? 1.dSYM文件。(如...

  • [转载]无.dsym文件解析Crash日志

    转自: 详解没有dSYM文件 如何解析iOS崩溃日志 其他资料:杨君的小黑屋

  • 解析苹果审核崩溃日志文件

    1.新建的文件夹,里面包含奔溃日志、项目.dSYM、 项目.app,并cd到该文件夹里面。 2.建立路径别名:al...

  • iOS奔溃日志分析

    iOS奔溃日志分析 前言(扯淡) iOS奔溃日志能够比较有效的分析奔溃的原因,方便我们debug我们的项目。当然现...

  • DYLD, Library not loaded: /usr/l

    奔溃日志 奔溃表现:iOS12.1 及以下启动奔溃奔溃日志: 解决方法:关闭bitcode,重新打包上传appst...

  • iOS无dSYM符号表情况下的崩溃分析

    一、dSYM符号表分析崩溃 在能够获取到dSYM符号表文件的情况下,分析崩溃详情请移步iOS crash 解析定位...

  • DSYM文件

    什么是dSYM文件? iOS平台中,dSYM文件是指具有调试信息的目标文件,文件名通常为:xxx.app.dSYM...

网友评论

      本文标题:iOS dSYM奔溃文件解析

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