getsentry / apple-crash-report-parser Goto Github PK
View Code? Open in Web Editor NEWA simple apple crash report parser for rust
License: Apache License 2.0
A simple apple crash report parser for rust
License: Apache License 2.0
Relevant code:
https://github.com/getsentry/apple-crash-report-parser/blob/master/src/parser.rs#L316-L323
Example apple crash report:
Incident Identifier: 8B792768-FC37-4D84-A41E-35EDDFC67E45
CrashReporter Key: 5510d3062c682b32f9d459229c94639ef823346f
Hardware Model: iPhone12,1
Process: clashofstreamers [4135]
Path: /private/var/containers/Bundle/Application/A7C0F910-1AC1-4386-9FBB-7D39CDA93B63/clashofstreamers.app/clashofstreamers
Identifier: com.gamingforgood.clashofstreamers
Version: 587860 (1.0)
Code Type: ARM-64
Parent Process: ? [1]
Date/Time: 2020-05-02 16:38:09.075 +0200
OS Version: iOS 13.4.1 (17E262)
Report Version: 104
Exception Type: EXC_BREAKPOINT (5)
Exception Codes: 0x00000000 at 0x000000000379cd20
Crashed Thread: 0
Thread 0 Crashed:
0 clashofstreamers 0x000000010679dd20 0x104c25000 + 27741216
...
The problem is this line:
Date/Time: 2020-05-02 16:38:09.075 +0200
Replacing that line with:
Date/Time: 2020-05-02 16:38:09 +0200
And everything goes fine.
Thanks for writing this crate, it's super useful! I'm using it to write a little commandline tool to take Apple crash reports from our customers and symbolicate the frames from our framework using our private dSYMs. Ideally I'd like to have it take a crash report file as input and spit out a crash report file, just with the newly-symbolicated frames filled in. Would it be feasible to provide an API to serialize back to Apple's format? If not, some half-measure like a way to map bits of the AppleCrashReport
structure back to lines from the input file might be good enough for my purposes.
Currently I'm resorting to parsing the report using this crate so that I can easily find and use the UUID of our framework, then just iterating over the lines of the report and rewriting the frames I care about (which requires only a tiny bit of actual parsing). If I had some way to find all the frames I care about using this crate so I could fill in their symbol data and write it back out that would be wonderful.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.