MMM*_*MMM 35
首先,您需要三个文件:dSYM文件,应用程序文件和崩溃日志.
打开X代码,在项目导航器中显示Products文件夹,并在"查找器中显示"应用程序文件.在这里你也可以找到dSYM文件.将它们复制到一个文件夹.
现在打开终端,然后导航到之前复制的两个文件的文件夹.运行:dwarfdump --uuid Application_name.app/Application_name
您应该收到应用程序的UUID.运行以下命令:dwarfdump --uuid Application_name.app.dSYM- 您将再次收到UUID,该UUID应与先前收到的UUID匹配.
打开崩溃日志(X代码 - 管理器 - 崩溃),找到出现"二进制图像"标题的行.这是第一行中的另一个UUID,它应该与先前在终端中接收的UUID再次匹配.
现在,您确信崩溃已记录在您正在检查的构建中,因此请再次打开崩溃日志文件,找到Thread 0部分,并且应该有两行包含您的应用程序名称和两个地址.如:
Application_name 0x123456
Application_name 0x987654
Run Code Online (Sandbox Code Playgroud)
在终端中你应该现在运行:( atos -arch armv7 -o address1 address2地址1和地址2应该用前两个地址替换,而armv7用你的系统替换 - 它显示在你获得UUID的行上).
快乐的调试!
编辑:我想提到这篇帖子作为我的基础.
灵感
获取 dsym 文件的步骤
获取您的设备崩溃日志
将 .crash 文件从设备上拉出。我通常使用 xCode 来实现此目的。
逐行法
atos -arch arm64 -o TheElements.app.dSYM/Contents/Resources/DWARF/TheElements -l 0x1000e4000 0x00000001000effdc
0x1000e4000 = address of your app's image
0x00000001000effdc = is the stripped name of the symbol you want to turn into a readable name
Run Code Online (Sandbox Code Playgroud)
专业方法
获取可执行文件的位置symbolicatecrash。
在 xCode 9 中,你想要的文件在这里:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
Run Code Online (Sandbox Code Playgroud)
将符号化的崩溃日志打印到终端
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
./symbolicatecrash -v crash_log_20_9_2018.crash myapp.app.dSYM
Run Code Online (Sandbox Code Playgroud)
阅读
这里有很好的说明atos:
How to symbolicic crash log Xcode?
在没有 dsym 文件的情况下执行相同操作的方法: https ://medium.com/@Mrugraj/crash-re-symbolication-5c28d3a3a883
| 归档时间: |
|
| 查看次数: |
13995 次 |
| 最近记录: |