对于iOS崩溃报告,只需将崩溃报告拖放到管理器即可。
Symbolicating iPhone App Crash Reports
但是这种方法不适用于Mac OSX崩溃报告。
如何表示我的Mac OSX崩溃报告?
谢谢!
答案 0 :(得分:30)
您可以使用atos命令获取应用程序崩溃的行号。
这是一个快速指南:
获得所有信息后,您需要在终端中运行以下内容:
atos -o YourApp.app/Contents/MacOS/YourApp -arch x86_64 -l [load-address] [address]
例如,这是一个来自堆栈跟踪的摘录:
Process: MyApp [228]
Path: /Applications/MyApp.app/Contents/MacOS/MyApp
Identifier: uk.co.company.app
Version: 1.0 (1)
App Item ID: 774943227
App External ID: 218062633
Code Type: X86-64 (Native)
Parent Process: launchd [154]
Responsible: MyApp [228]
User ID: 501
Date/Time: 2013-12-17 10:20:45.816 +0100
OS Version: Mac OS X 10.9 (13A603)
Report Version: 11
Anonymous UUID: 7AA662B1-7696-A2C5-AF56-9D4BA2CE9515
Crashed Thread: 2
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
<snip>
Thread 2 Crashed:
0 libsystem_kernel.dylib 0x00007fff8b95a866 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff8bf4f35c pthread_kill + 92
2 libsystem_c.dylib 0x00007fff87571bba abort + 125
3 libsystem_malloc.dylib 0x00007fff897ae093 free + 411
4 uk.co.company.app 0x0000000103580606 0x10356e000 + 75270
5 uk.co.company.app 0x00000001035803da 0x10356e000 + 74714
6 com.apple.Foundation 0x00007fff8d00970b __NSThread__main__ + 1318
7 libsystem_pthread.dylib 0x00007fff8bf4e899 _pthread_body + 138
8 libsystem_pthread.dylib 0x00007fff8bf4e72a _pthread_start + 137
9 libsystem_pthread.dylib 0x00007fff8bf52fc9 thread_start + 13
我可以看到“代码类型”是x86_64,线程2崩溃,而第4行我的代码正在运行,所以我们有我们需要的地址。使用此信息,我运行以下内容:
$ atos -o MyApp.app/Contents/MacOS/MyApp -arch x86_64 -l 0x10356e000 0x0000000103580606
返回:
got symbolicator for MyApp.app/Contents/MacOS/MyApp, base address 100000000
obj_free (in MyApp) (somefile.c:135)
告诉我我的应用程序在somefile.c的第135行崩溃了。
答案 1 :(得分:12)
@inkjet上面的评论值得回答。 他构建了一个应用程序,可以从您的dsym和.crash文件中完整地进行符号化。
我做的Sumbolon的免费替代品:bch.us.to/apps/macsymbolicator - 它使用atos,方法与Rich Able在下面描述的方式相同。 - 墨水12月24日&13; 13日4:39
把它们放在一起:
从here
打开Xcode,选择Window-&gt; Organizer,转到Archive选项卡并查找 发生崩溃的应用版本。
右键点击应用档案并选择&#34;在Finder中显示&#34;
右键单击.xarchive,选择&#34;显示内容&#34;找到了 AppName.dSYM目录
将.crash文件和AppName.dsym拖到Sumbolon
魔术发生
答案 2 :(得分:0)
这个链接解释了所有用符号表示崩溃日志的崩溃日志。你只需要将.dsyms文件,.app文件和崩溃日志放在同一个文件夹中
我环顾四周,发现没有比这更好的了。所以我希望这会帮助其他人发布它。