Xcode 5的管理器有一个视图,可以列出所有的崩溃日志。我们可以拖放这里的崩溃日志。但自从Xcode 6以来,我知道他们已经将设备移出了组织,并为相同的设置了一个新的窗口。但我没有找到一个地方,我查看崩溃日志,我拖拽在Xcode 5后上升到Xcode 6。有人知道答案吗?


当前回答

对我来说,.crash文件就足够了。没有。dsym文件和。app文件。

我在mac上运行了这两个命令,在那里我建立了存档,它工作了:

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

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash  /yourPath/crash1.crash > /yourPath/crash1_symbolicated.crash

其他回答

对崩溃日志进行符号化的最简单方法:

在IPA构建过程中保存组织者的xcarchive文件,以备将来使用。 当崩溃发生时,从受影响的设备上收集崩溃日志。扩展名应该是.crash。如果崩溃日志是.ips格式,只需将其重命名为.crash。 双击存储路径中的xcarchive,使其出现在管理器中(如果尚未出现)。 打开xcode窗口->设备和模拟器->查看设备日志->所有日志->拖放.crash文件。

等待5秒。砰!堆栈跟踪中的应用程序调用将被符号化! 不过,你仍然可以看到很多符号!这些是内部库和框架调用。

这是最简单的一种方法,我已经试过了!

好的,我意识到你可以这样做:

在Xcode > Window > Devices中,选择连接的iPhone/iPad/etc左上角。 查看设备日志 所有日志

您可能在那里有很多日志,为了便于稍后找到导入的日志,您可以在此时删除所有日志……除非他们对你来说意味着金钱。或者除非你知道崩溃发生的确切时间点——无论如何都应该写在文件中……我很懒,所以我只是删除所有旧的日志(这实际上花了一段时间)。

3 a。确保日志文件的扩展名为.crash(而不是.txt或.ips)

只需将文件拖放到该列表中。这对我很管用。

您需要访问包含DWARF文件的. dsym包(文件夹),并且应该使用编辑器打开.crash文件。

查看回溯部分,你应该会看到如下内容:

...
13  TheElements                         0x0000000100f62ca0 0x100f5c000 + 27808
14  UIKitCore                       0x00000001843e3044 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 356 (UIApplication.m:2328)
...

Binary Images:
0x100f5c000 - 0x101673fff TheElements arm64 ...
...

注意stacktrace部分的第3列(0x0000000100f62ca0)中的长地址。 注意第4列中的简短地址(0x100f5c000) 注意二进制图像部分的架构(arm64) 执行以下操作:

$ atos -arch <arch> -o TheElements.app.dSYM/Contents/Resources/DWARF/TheElements -l <short_address> <long_address>

你应该得到这样的结果:

-[AtomicElementViewController myTransitionDidStop:finished:context:]

权威来源:https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATE_WITH_ATOS

注意:如果由于任何原因你无法访问. dsym文件,你可以使用Xcode>Product>Archive重新创建.xcarchive,但要确保你构建的是完全相同的代码。然后可以从.xcarchive包中提取符号。

对我来说,.crash文件就足够了。没有。dsym文件和。app文件。

我在mac上运行了这两个命令,在那里我建立了存档,它工作了:

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

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash  /yourPath/crash1.crash > /yourPath/crash1_symbolicated.crash

确保你的Xcode应用名称不包含任何空格。这就是它对我不起作用的原因。所以/应用程序/ Xcode。/Applications/Xcode应用程序不能工作。