如何使用JSON分析iPhone崩溃日志

时间:2017-01-06 04:02:29

标签: ios iphone crash-reports

我收到了这样的崩溃日志:

{"timestamp":"2017-01-05 22:29:03.03 +0800","bug_type":"298","os_version":"iPhone OS 9.3.2 (13F69)"}
{
 "crashReporterKey" : "6e088e6d206ce6025a40eacd5ea68779dc5ac344",
 "kernel" : "Darwin Kernel Version 15.5.0: Mon Apr 18 16:44:06 PDT 2016; root:xnu-3248.50.21~4\/RELEASE_ARM64_T7000",
 "product" : "iPhone7,2",
 "incident" : "C106CE8A-F492-47FF-BEA9-293E6ACFE201",
 "date" : "2017-01-05 22:29:03.03 +0800",
 "build" : "iPhone OS 9.3.2 (13F69)",
 "timeDelta" : 3377,
 "memoryStatus" : {
 "compressorSize" : 30099,
 "pageSize" : 4096,
 "compressions" : 719018,
 "memoryPages" : {
   "active" : 33364,
   "throttled" : 0,
   "fileBacked" : 24001,
   "wired" : 169666,
   "anonymous" : 27027,
   "purgeable" : 6,
   "inactive" : 15716,
   "free" : 2836,
   "speculative" : 1948
 },
 "uncompressed" : 81552,
 "decompressions" : 333878
},
 "largestProcess" : "MYAPP",
 "processes" : [
 {
   "rpages" : 556,
   "states" : [
     "daemon",
     "idle"
   ],
   "name" : "assetsd",
   "pid" : 839,
   "reason" : "vm-pageshortage",
   "fds" : 50,
   "uuid" : "MYUUID",
   "purgeable" : 0,
   "cpuTime" : 0.373819,
   "lifetimeMax" : 970
 },
 {
   "rpages" : 231,
   "states" : [
     "daemon",
     "idle"
   ],
   "name" : "followupd",
   "pid" : 851,
   "reason" : "vm-pageshortage",
   "fds" : 50,
   "uuid" : "MYUUID",
   "purgeable" : 0,
   "cpuTime" : 0.04115,
   "lifetimeMax" : 487
 }, 

and a lot more...

由于没有显示调用堆栈,因此无需对其进行符号化。

我只是运行我的应用程序播放视频一个小时,然后崩溃了。

这不是每次都经常发生。

我应该如何阅读这种日志?

任何人都可以解释一下所有关键是重要的,以及它们在大json中意味着什么?

2 个答案:

答案 0 :(得分:0)

你的应用程序因内存不足而崩溃。我不知道你的应用程序做了什么,但它有内存泄漏或没有正确监视/释放内存。

根据Apple文档,它根据理由说[vm-pageshortage]是“由于记忆压力导致该过程被杀死。”

您可以在此处阅读Apple关于崩溃报告的文档:https://developer.apple.com/library/content/technotes/tn2151/_index.html

答案 1 :(得分:0)

@dstudeba是对的,当你播放视频时,你的CPU内存消耗比预期的要多。有时它发生了

  1. 当有大量数据来自服务器时。
  2. 当您未在应用中管理内存时。
  3. 有关详细信息:Analyzing Crash ReportsMemoryMgmt