3
votes

Is there a way to send low memory crash reports with QuincyKit?

I looked through the code, and QuincyKit sends the crash reports found in:

/var/mobile/Application//Library/Caches/crashes

However when the app crashes due to a memory warning a file doesn't get created in that directory. I can view the low memory reports in Organizer (type Unknown), but where is the file located?

Can QuincyKit be modified quickly to send the memory reports?

2

2 Answers

3
votes

Unfortunately this is not possible.

Out of memory crashes are actually kills by the watchdog process. Whenever you kill a process, there is no crash happening. The crash reports for those that you see in Organizer, are arbitrary reports written by the watchdog process that did the kill. So the only system that can provide information about these, is iOS itself.

2
votes

It is not possible to retrieve the memory reports.

However, it would be possible to notice:

  1. that a memory warning had been received and record the memory usage at that time - and
  2. that X seconds later the application was no longer running (by maintaining a simple watchdog thread).

You could then deduce on the next run that the application had probably been killed due to an out of memory condition, and you would have some information about the memory usage at that time. Indeed, you could extend your memory warning handler to report the size of any caches you were running (and also to clean them up at the same time, thereby reducing the likelihood of a crash!).