这是我关于StackOverflow的第一个问题,希望这是一个相关的问题!为了尝试将您置于上下文中,当我尝试使用 PresentViewController 方法打开相机时,我的应用程序中出现了奇怪的崩溃。我尝试查看崩溃报告,但我没有任何通话详细信息,只有十六进制如下:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x38a97350 0x38a86000 + 70480
1 libsystem_c.dylib 0x35d3a11e 0x35d0b000 + 192798
2 libsystem_c.dylib 0x35d7696e 0x35d0b000 + 440686
3 (project_name) 0x00882968 0x1000 + 8919400
4 (project_name) 0x0083db7c 0x1000 + 8637308
5 libsystem_c.dylib 0x35d43e90 0x35d0b000 + 233104
6 UIKit 0x39d40b00 0x39d3b000 + 23296
7 QuartzCore 0x34c52ff2 0x34c4c000 + 28658
8 QuartzCore 0x34c52fa2 0x34c4c000 + 28578
9 QuartzCore 0x34c52e8e 0x34c4c000 + 28302
10 QuartzCore 0x34c4e9ba 0x34c4c000 + 10682
11 QuartzCore 0x34c4e876 0x34c4c000 + 10358
12 QuartzCore 0x34c4e806 0x34c4c000 + 10246
13 UIKit 0x39d3fae8 0x39d3b000 + 19176
14 UIKit 0x39d4271e 0x39d3b000 + 30494
15 UIKit 0x39d84a6c 0x39d3b000 + 301676
16 PhotoLibrary 0x381c39ca 0x38157000 + 444874
17 UIKit 0x39d417fe 0x39d3b000 + 26622
18 QuartzCore 0x34c4fd5e 0x34c4c000 + 15710
19 QuartzCore 0x34c4f8fc 0x34c4c000 + 14588
无论如何,由于我的崩溃报告尚无定论(在我看来),我用谷歌搜索了通常如何处理iOS和NSZombieEnabled和EnableGuard Malloc的内存问题。NSZombieEnabled在Monotouch中默认启用,但我没有找到任何地方如何启用Guard Malloc。Monotouch甚至有可能吗?谢谢!
如果没有适当的堆栈跟踪,任何其他调试工具都将毫无用处。
您需要对崩溃报告进行符号化 - 或者弄清楚为什么您的崩溃报告没有正确符号化。通常 Xcode 会自动执行此操作(打开崩溃报告后需要几秒钟),但它需要 Spotlight 才能找到调试信息,所以如果 Spotlight 没有索引您的项目目录,这是后果之一。有时符号化的另一个问题是解决方案/项目/可执行文件名称是否相同。
您还应该查看设备日志,很多时候崩溃的确切原因会打印在那里(即使有有关如何修复它的说明)。这是有关如何查找设备日志(如果以前没有见过)的指南。