我目前正在使用PLCrashReporter以编程方式获取ios设备上的崩溃报告。根据{{3}},https://developer.apple.com/library/ios/technotes/tn2151/_index.html内存日志与崩溃日志不同。如何以编程方式获取此内存日志?有没有可用的图书馆?
答案 0 :(得分:2)
您需要使用Instruments来确定内存耗尽的原因。使用Analyzer检查代码。使用Instruments Leaks工具。
使用仪器检查由于保留但未泄漏的内存导致的泄漏和内存丢失。后者是未使用的内存,仍然指向。在仪器上的分配工具中使用标记生成(快照)。
如何使用“快照”查找内存褶皱,请参阅:bbum blog
基本上,该方法是运行Instruments分配工具,获取快照,运行代码的迭代并重复另外3到4次快照。这将指示在迭代期间分配但未释放的内存。
要弄清楚披露的结果,以查看个别分配。
如果您需要查看对象使用仪器的保留,释放和自动释放的位置:
在仪器中运行,在分配中设置“记录参考计数”(对于Xcode 5及更低版本,您必须停止记录以设置选项)。导致应用程序运行,停止录制,向下钻取,您将能够看到所有保留,发布和自动释放的位置。
答案 1 :(得分:0)
一种方法是将设备插入Xcode。转到窗口>设备和模拟器,选择您的设备,单击"查看设备日志"按钮。低内存日志将在进程中处于"未知"并输入"未知"。
请参阅"使用Xcode从设备获取崩溃日志和控制台输出的https://developer.apple.com/library/content/qa/qa1747/_index.html"部分。