This project will help de-obfuscate stack traces to meaningful ones using
the mono-symbolicate
tool. It consists of a local server and a Chrome
extension.
Build the solution, then edit the MonoSymbolicateHelper.Service.exe.config
file.
Make sure you update the paths to the archivePath
(where Xamarin builds your app archive) as well as the path to mono-symbolicate
.
The default port for the service is 5000, but you can update it in the config file.
Launch the helper service. By default, it will open in a console window and will start listening to requests on port 5000 (or whichever port you configured).
You can also install this as a Windows service using the install
command. See Topshelf Command Line Reference.
Use a tool like Postman or Advanced REST Client to send requests to the helper service.
Sent POST requests to http://localhost:5000/symbolicate
Use type x-www-form-urlencoded
and add the following body parameters:
- packageName = com.example.app
- versionCode = 123 this is the numeric code, not the versionName like 1.2.3
- stackTrace = <paste your stack trace here>
Submit your request to the helper service and the response will be the de-obfuscated stack trace.
3. Result (You can now see the de-obfuscated stack trace. It will also add line numbers to 3rd party libraries if you have the symbols.)
I have published a Chrome extension that will automatically capture the stack trace from HockeyApp.
This extension will grab the stack trace and send it to the helper then update the existing page with the de-obfuscated stack trace automatically.
You can find it on the Chrome Web Store.
Let me know if you have any issues getting this working.