2011-12-19 199 views
2

我已经搜索并找到了一些关于此主题的StackOverflow Q/A,但我仍然无法让我的iOS MonoTouch应用程序的崩溃日志符号化。下面是我的环境信息:不能Symbolicate Monotouch iOS应用程序崩溃日志

MonoDevelop 2.8.5 
Runtime: 
Mono 2.10.6 (tarball Fri Sep 16 00:13:06 EDT 2011) 
GTK 2.24.5 
GTK# (2.12.0.0) 
Apple Developer Tools: 
Xcode 4.2 (828) 
Build 4D199 
Monotouch: 5.0.4 
Operating System: 
Mac OS X 10.7.2 ` 

当然,当我构建应用程序在MonoDevelop中,我有它设置为Debug | iPhone配置使调试并发出调试符号。我可以验证dsym文件也正在生成。

编辑 - 另一个可能相关的信息。 Xcode Organizer告诉我它无法找到与我的手机版本(5.0.1 - 9A405)相匹配的软件映像。 Organizer Screenshot

当我在(iPhone 4S)中插入设备时,日志会被导入,并且管理器窗口报告它是符号化日志。但是,我只能在日志中找到位置和偏移量:

Application Specific Information: 
IMDSSMobile_iOS[22522] has active assertions beyond permitted time: 
{(
    <SBProcessAssertion: 0x11c36880> identifier: Suspending process: IMDSSMobile_iOS[22522] permittedBackgroundDuration: 10.000000 reason: suspend owner pid:15 preventSuspend preventThrottleDownCPU preventThrottleDownUI 
)} 

Elapsed total CPU time (seconds): 2.410 (user 2.410, system 0.000), 12% CPU 
Elapsed application CPU time (seconds): 0.003, 0% CPU 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0: 
0 libsystem_kernel.dylib   0x339da0d8 0x339c9000 + 69848 
1 libsystem_c.dylib    0x3655bc44 0x36559000 + 11332 
2 IMDSSMobile_iOS     0x005b8f60 0x1000 + 5996384 
3 IMDSSMobile_iOS     0x00544208 0x1000 + 5517832 
4 IMDSSMobile_iOS     0x00545c24 0x1000 + 5524516 
5 IMDSSMobile_iOS     0x005b31bc 0x1000 + 5972412 
6 IMDSSMobile_iOS     0x0054e248 0x1000 + 5558856 
7 IMDSSMobile_iOS     0x0054c178 0x1000 + 5550456 
8 IMDSSMobile_iOS     0x0054d4bc 0x1000 + 5555388 
9 IMDSSMobile_iOS     0x00560620 0x1000 + 5633568 
10 IMDSSMobile_iOS     0x0057a88c 0x1000 + 5740684 
11 libsystem_c.dylib    0x365b1532 0x36559000 + 361778 
12 libsystem_c.dylib    0x3655bc44 0x36559000 + 11332 
13 IMDSSMobile_iOS     0x0063d654 0x1000 + 6538836 
14 IMDSSMobile_iOS     0x0063f224 0x1000 + 6545956 
15 IMDSSMobile_iOS     0x005c6b30 0x1000 + 6052656 
16 IMDSSMobile_iOS     0x002ef91c 0x1000 + 3074332 
17 IMDSSMobile_iOS     0x002eca04 0x1000 + 3062276 
18 IMDSSMobile_iOS     0x002e7780 0x1000 + 3041152 
19 IMDSSMobile_iOS     0x002e76e8 0x1000 + 3041000 
20 IMDSSMobile_iOS     0x002d7f24 0x1000 + 2977572 
21 IMDSSMobile_iOS     0x002d7cbc 0x1000 + 2976956 
22 IMDSSMobile_iOS     0x0036c220 0x1000 + 3584544 
23 IMDSSMobile_iOS     0x0036c104 0x1000 + 3584260 
24 IMDSSMobile_iOS     0x0042dec4 0x1000 + 4378308 
25 IMDSSMobile_iOS     0x0042d88c 0x1000 + 4376716 
26 IMDSSMobile_iOS     0x004305b8 0x1000 + 4388280 
27 IMDSSMobile_iOS     0x0045af54 0x1000 + 4562772 
28 IMDSSMobile_iOS     0x006c0e54 0x1000 + 7077460 
29 Foundation      0x31fff2f2 0x31fd6000 + 168690 
30 Foundation      0x31ffee2c 0x31fd6000 + 167468 
31 Foundation      0x31fd8f12 0x31fd6000 + 12050 
32 CoreFoundation     0x3809f7fc 0x38087000 + 100348 
33 CoreFoundation     0x380a048a 0x38087000 + 103562 
34 UIKit       0x3576c4b8 0x354f5000 + 2585784 
35 UIKit       0x356dc9c4 0x354f5000 + 1997252 
36 UIKit       0x355bbe9a 0x354f5000 + 814746 
37 UIKit       0x35531784 0x354f5000 + 247684 
38 UIKit       0x355923b2 0x354f5000 + 644018 
39 UIKit       0x35592350 0x354f5000 + 643920 
40 UIKit       0x35591c8a 0x354f5000 + 642186 
41 UIKit       0x355919be 0x354f5000 + 641470 
42 UIKit       0x3558eb30 0x354f5000 + 629552 
43 IMDSSMobile_iOS     0x00456b38 0x1000 + 4545336 
44 IMDSSMobile_iOS     0x0001927c 0x1000 + 98940 
45 IMDSSMobile_iOS     0x003856b8 0x1000 + 3688120 
46 IMDSSMobile_iOS     0x005361a4 0x1000 + 5460388 
47 IMDSSMobile_iOS     0x0062e4b0 0x1000 + 6476976 
48 IMDSSMobile_iOS     0x006c19e0 0x1000 + 7080416 
49 UIKit       0x355ab55e 0x354f5000 + 746846 
50 UIKit       0x35623ce0 0x354f5000 + 1240288 
51 Foundation      0x3207193c 0x31fd6000 + 637244 
52 CoreFoundation     0x38114a5c 0x38087000 + 580188 
53 CoreFoundation     0x381146c2 0x38087000 + 579266 
54 CoreFoundation     0x38113298 0x38087000 + 574104 
55 CoreFoundation     0x380964d6 0x38087000 + 62678 
56 CoreFoundation     0x3809639e 0x38087000 + 62366 
57 GraphicsServices    0x37c14fc6 0x37c11000 + 16326 
58 UIKit       0x3552673c 0x354f5000 + 202556 
59 IMDSSMobile_iOS     0x0045aaa8 0x1000 + 4561576 
60 IMDSSMobile_iOS     0x00002d38 0x1000 + 7480 
61 IMDSSMobile_iOS     0x003856b8 0x1000 + 3688120 
62 IMDSSMobile_iOS     0x005361a4 0x1000 + 5460388 
63 IMDSSMobile_iOS     0x0062e4b0 0x1000 + 6476976 
64 IMDSSMobile_iOS     0x006315d8 0x1000 + 6489560 
65 IMDSSMobile_iOS     0x006305d8 0x1000 + 6485464 
66 IMDSSMobile_iOS     0x0053d254 0x1000 + 5489236 
67 IMDSSMobile_iOS     0x005305c0 0x1000 + 5436864 
68 IMDSSMobile_iOS     0x00002bc0 0x1000 + 7104 

任何人都有其他指针吗?我对崩溃发生的时间有一个大致的了解,并且我意识到这个错误(超出允许时间的断言)通常涉及在主线程上阻塞网络IO,但我没有这样做,我也不知道是什么否则可能会继续。从日志中查看有效的堆栈跟踪可能会非常有帮助。

+0

坠毁如果你建立和上传和运行你的应用程序,它崩溃,然后重新在MonoDevelop的项目必须在MonoDevelop中(即最后构建应用程序,崩溃日志不能象征性的) – 2011-12-20 00:08:48

+0

罗尔夫 - 我确实相信是这样。我会构建,上传,运行和崩溃,然后尝试查看报告。 – pseabury 2011-12-20 13:13:01

+0

您应该尝试运行“symbolicatecrash -v path/to/log.crash path/to/app.DSYM”并查看是否打印了任何错误(或将详细输出放在此处以便其他人可以诊断) – 2011-12-21 11:18:46

回答

2

符号化与MT或其他用于生成本机iOS应用程序图像的技术无关。

系统试图表示outbput,但是这是通过从dSYM文件加载数据完成的,您需要确保将dSYM文件与崩溃日志放在同一目录中,或者使用显式路径手动执行到dSYM。

希望这会有所帮助。

-Pavel

+0

我复制了崩溃日志和dsym文件到一个公共目录,然后将日志导入Organizer并获得良好结果。谢谢帕维尔。 – pseabury 2011-12-28 18:45:24