ios: Add support for intermediate dump reader and writer.

Due to the limitations of in-process handling, an intermediate dump file
is written during exceptions. The data is streamed to a file using only
in-process safe methods. The file format is similar to binary JSON,
supporting keyed properties, maps and arrays.
 - Property [key:int, length:int, value:intarray]
 - StartMap [key:int], followed by repeating Properties until EndMap
 - StartArray [key:int], followed by repeating Maps until EndArray
 - EndMap, EndArray, EndDocument

Similar to JSON, maps can contain other maps, arrays and properties.

Once loaded, the binary file is read into a set of data structures that
expose the data, maps and arrays.

Bug: crashpad: 31
Change-Id: I7eefa1d38e7633adaffd55800eae4c2703fe4267
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2870807
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
GitOrigin-RevId: b2b65a91cf8b5c33b50422fef87325f54dae0146
16 files changed
tree: 44ccddb5977e2e43a9a7a9c2f35f1eeff67f0192
  1. .clang-format
  2. .gitattributes
  3. .gitignore
  4. .gn
  5. .style.yapf
  6. .vpython
  7. AUTHORS
  8. BUILD.gn
  9. CONTRIBUTORS
  10. DEPS
  11. LICENSE
  12. README.md
  13. build/
  14. client/
  15. codereview.settings
  16. compat/
  17. crashpad.gyp
  18. doc/
  19. handler/
  20. infra/
  21. minidump/
  22. navbar.md
  23. package.h
  24. snapshot/
  25. test/
  26. third_party/
  27. tools/
  28. util/
README.md

Crashpad

Crashpad is a crash-reporting system.

Documentation

Source Code

Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.

Other Links