从 iPhone 查看临时崩溃报告
我正在做一些 Beta 测试。我遇到了车祸并试图解决它。如果我连接 iPhone,我可以在 XCode 管理器中看到崩溃报告。所以我看到这个(我的应用程序称为 Lineskipper):
Thread 0 Crashed:
0 libobjc.A.dylib 0x323fe6f4 0x323fc000 + 9972
1 UIKit 0x32ba205e 0x32b60000 + 270430
2 UIKit 0x32ba1ffe 0x32b60000 + 270334
3 UIKit 0x32ba1fd0 0x32b60000 + 270288
4 UIKit 0x32ba1d2a 0x32b60000 + 269610
5 UIKit 0x32ba263e 0x32b60000 + 271934
6 UIKit 0x32ba1656 0x32b60000 + 267862
7 UIKit 0x32ba1032 0x32b60000 + 266290
8 UIKit 0x32b9d928 0x32b60000 + 252200
9 UIKit 0x32b9d3a0 0x32b60000 + 250784
10 GraphicsServices 0x32913b72 0x3290f000 + 19314
11 CoreFoundation 0x32567c26 0x32511000 + 355366
12 CoreFoundation 0x32567356 0x32511000 + 353110
13 GraphicsServices 0x32912cb8 0x3290f000 + 15544
14 GraphicsServices 0x32912d64 0x3290f000 + 15716
15 UIKit 0x32b62768 0x32b60000 + 10088
16 UIKit 0x32b6146c 0x32b60000 + 5228
17 LineSkipper 0x000022e0 0x1000 + 4832
18 LineSkipper 0x0000229c 0x1000 + 4764
不是特别有帮助。据我了解,我需要象征。所以我在 Apple TN2151
给定崩溃报告,匹配的 二进制文件及其 .dSYM 文件, 符号化相对容易。这 Xcode Organizer 窗口有一个选项卡 目前的崩溃报告 选定的设备。您可以查看 外部收到的崩溃报告 这个选项卡 - 只需将它们放在 适当的目录。这是 与 Mac OS X 目录相同 在第一节中描述。它 无论您拥有哪种设备都没关系 束缚,但其中的目录 您放置的崩溃报告必须是 系留目录和 所选设备。
没有必要放置 任何二进制和 .dSYM 文件 特定位置。 Xcode 使用 Spotlight 和 UUID 来定位 正确的文件。有必要, 不过,这两个文件位于同一个文件中 目录并且该目录是 由 Spotlight 索引的一个。 您的主目录中的任何位置都应该 没事。
所以基本上,我不明白。我将崩溃报告从管理器中拖出,将其放入 Apple 参考目录(~/Library/Logs/CrashReporter/MobileDevice/)中,然后...双击它。它打开了控制台应用程序,我看到的正是我在管理器中看到的内容。
那么我做错了什么吗?我怎么知道我做到了?如何查看控制台文件以便准确知道崩溃的位置?
I'm doing some beta testing. I've got a crash and trying to figure it out. If I connect the iPhone, I can see the Crash Report in the XCode organizer. So I see this (my app is called Lineskipper):
Thread 0 Crashed:
0 libobjc.A.dylib 0x323fe6f4 0x323fc000 + 9972
1 UIKit 0x32ba205e 0x32b60000 + 270430
2 UIKit 0x32ba1ffe 0x32b60000 + 270334
3 UIKit 0x32ba1fd0 0x32b60000 + 270288
4 UIKit 0x32ba1d2a 0x32b60000 + 269610
5 UIKit 0x32ba263e 0x32b60000 + 271934
6 UIKit 0x32ba1656 0x32b60000 + 267862
7 UIKit 0x32ba1032 0x32b60000 + 266290
8 UIKit 0x32b9d928 0x32b60000 + 252200
9 UIKit 0x32b9d3a0 0x32b60000 + 250784
10 GraphicsServices 0x32913b72 0x3290f000 + 19314
11 CoreFoundation 0x32567c26 0x32511000 + 355366
12 CoreFoundation 0x32567356 0x32511000 + 353110
13 GraphicsServices 0x32912cb8 0x3290f000 + 15544
14 GraphicsServices 0x32912d64 0x3290f000 + 15716
15 UIKit 0x32b62768 0x32b60000 + 10088
16 UIKit 0x32b6146c 0x32b60000 + 5228
17 LineSkipper 0x000022e0 0x1000 + 4832
18 LineSkipper 0x0000229c 0x1000 + 4764
Not particularly helpful. From what I understand, I need to symbolize. So I read this little nugget of wisdom in Apple TN2151
Given a crash report, the matching
binary, and its .dSYM file,
symbolication is relatively easy. The
Xcode Organizer window has a tab for
crash reports of the currently
selected device. You can view
externally received crash reports in
this tab - just place them in the
appropriate directory. This is the
same as the Mac OS X directory
described in the first section. It
doesn't matter which device you have
tethered, but the directory in which
you place the crash report must be the
directory for the tethered and
selected device.It is not necessary to place the
binary and .dSYM file in any
particular location. Xcode uses
Spotlight and the UUID to locate the
correct files. It is necessary,
though, that both files be in the same
directory and that this directory is
one that is indexed by Spotlight.
Anywhere in your home directory should
be fine.
So basically, I don't get it. I drag the crash report out of the organizer, put it in the directory Apple references here (~/Library/Logs/CrashReporter/MobileDevice/) and then... I double-click it. It opens up the console app, and I see exactly what I saw in the Organizer.
So did I do something wrong? How do I know I did it? How do I view the console file so that I know exactly where the crash was?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请务必保存与临时构建关联的 .dSYM 文件。以后无法重新创建它。
Be sure to save the .dSYM file associated with the ad ho build. It cannot be recreated later.
事实证明,在我费尽心思一段时间后,我的 dSYM/应用程序与崩溃报告不同步。哎呀。
当然,发现这一点绝非易事 - Apple 论坛上的此帖子向我展示了如何确定文件是否匹配。
在整个失败过程中我意识到的另一件事是我错过了很多东西 - 如果您看到“文件未找到”之类的错误,请确保您安装了所有正确的 UNIX 工具。如果没有,重新下载 XCode 并重新安装一定会更容易,在安装过程中勾选 UNIX 工具选项。
Turns out that, after pulling my hair out for some time, my dSYM/app were out of sync with the crash report. Oops.
Of course, discovering that is no small feat - this thread on the Apple forum showed me how to determine whether or not the files match up.
Another thing I realized during this whole debacle was that I was missing a lot of stuff - if you see errors like "file not found" and what not, make sure you have all of the proper UNIX tools installed. If not, it must be easier to just redownload XCode and reinstall it, checking off the UNIX tools option during the install process.