Appcenter: Add ability to upload mono mSYM files and run mono-symbolicate automatically

Created on 17 Apr 2019  Â·  17Comments  Â·  Source: microsoft/appcenter

Describe the solution you'd like
In addition to dSYM folders we also have mSYM folders (if you set MonoSymbolArchive to true in the csproj). AppCenter should allow us to upload mSYM folders and AppCenter should automatically run mono-symbolicate to give us the line numbers for both Android and iOS.

Describe alternatives you've considered
I can run mono-symbolicate locally after I download the raw crash report, but it is a bit of a pain.

Additional context
Add any other context or screenshots about the feature request here.

diagnostics feature request

Most helpful comment

We don't want better docs, we want built-in support for crash line numbers in App Center errors (like the rest of the .NET ecosystem has had for 15 years.)

All 17 comments

Linking a related issue: https://github.com/mono/mono/issues/11625

Would really love it if mono-symbolicate would work on iOS also. Right now it is working for us only on Android. And again, it seems like this should be built in and run automatically by AppCenter's back end.

@nathanielcook thanks for submitting this! Unfortunately, we don't have the bandwidth to work on this at the moment since a large part of our team is focused on improving HockeyApp scenarios as listed on our roadmap. I'll keep this on our radar though and update this issue if anything changes. Thanks!

It's technically possible to do yourself with a bit of effort today.

First you need to enable building the mono symbols on your project with the <MonoSymbolArchive>true</MonoSymbolArchive> msbuild property.

Next, you'll need to use a post-build script to find the **/*.msym file generated as part of the build and upload it somewhere you can grab it from later.

Finally, you can view the "Raw" crash log dump, copy and paste that to a file, and use mono-symbolicate to process it.

@dellis1972 is going to look at writing some better docs around how to use mono-symbolicate with Xamarin apps.

We don't want better docs, we want built-in support for crash line numbers in App Center errors (like the rest of the .NET ecosystem has had for 15 years.)

Agreed; I appreciate the follow-up, but this should definitely be automatic.

However its implemented, AppCenter needs to show line numbers for Android and iOS crashes.

yes please add this as a feature, I'm sure a lot of people using xamarin are having trouble tracking down null reference exceptions and other exceptions without knowing which line is causing it.

It's jaw-dropping that line numbers in crash reports are not regarded as critically important. Surely those who set priorities have once developed programs themselves?

Please move this feature up on the priority list as it is negatively affecting the value of App Center crash reporting. Thanks!

It's technically possible to do yourself with a bit of effort today.

First you need to enable building the mono symbols on your project with the <MonoSymbolArchive>true</MonoSymbolArchive> msbuild property.

Next, you'll need to use a post-build script to find the **/*.msym file generated as part of the build and upload it somewhere you can grab it from later.

Finally, you can view the "Raw" crash log dump, copy and paste that to a file, and use mono-symbolicate to process it.

@dellis1972 is going to look at writing some better docs around how to use mono-symbolicate with Xamarin apps.

@Redth I tried setting MonoSymbolArchive to true and by itself it did not create the *.mSYM folder. In the release notes for Xamarin.Android 6.1, it states that $(AndroidManagedSymbols) to be set to true together with $(DebugSymbols) to True and $(DebugType) to PdbOnly. I assume we should use MonoSymbolArchive versus AndroidManagedSymbols. What other things we need to set with MonoSymbolArchive to make it work?

@joncortez You need $(Optimize) as True, $(DebugSymbols) as True and $(DebugType) as PdbOnly, along with $(MonoSymbolArchive) as True

A couple of queries for Xamarin folk, @Redth :

  1. What is the difference between MonoSymbolArchive and AndroidManagedSymbols? And does it make any difference in this context as to which one we set?

  2. $(DebugType) can be PdbOnly or Portable (which is more supposed to be more efficient). Again, which one is recommended for line numbers, or does it make no difference which in this context?

@bellissimo PdbOnly support is being deprecated in.net 5/6 https://github.com/xamarin/xamarin-android/pull/5162. So its probably best to try to use Portable now.
AndroidManagedSymbols was removed a while ago , so setting MonoSymbolArchive is the way to control the generation of the mSYM archive.

It looks like we still have AndroidManagedSymbols in our docs, so we should remove that

here I am in 2021 and app centre still won't show me line numbers :(

If it’s against current strategy to work on this, couldn’t it be escalated to high enough management for an exception? Seems unbelievable.

On 31 Mar 2021, at 9:23 am, Craig McNicholas @.*> wrote:

here I am in 2021 and app centre still won't show me line numbers :(

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/microsoft/appcenter/issues/324#issuecomment-810618240, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACVADQOO3P5MI3HUEDJGQ5LTGJFO5ANCNFSM4HGP47TQ.

I think I'll disable aot due to this issue. At least I'll be able to see
where crashes happen then.

On Wed, Mar 31, 2021, 08:28 Bill @.*> wrote:

If it’s against current strategy to work on this, couldn’t it be escalated
to high enough management for an exception? Seems unbelievable.

On 31 Mar 2021, at 9:23 am, Craig McNicholas @.*> wrote:

here I am in 2021 and app centre still won't show me line numbers :(

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/microsoft/appcenter/issues/324#issuecomment-810618240>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/ACVADQOO3P5MI3HUEDJGQ5LTGJFO5ANCNFSM4HGP47TQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/appcenter/issues/324#issuecomment-810620213,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC3X6UA5QFPD32W2AO45NDTGJF7FANCNFSM4HGP47TQ
.

This issue has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs within 15 days of this comment.

Seems wrong to close this. The ’no further activity’ is on Microsoft, not users.

On 30 Jun 2021, at 8:04 pm, msftbot[bot] @.*> wrote:

This issue has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs within 15 days of this comment.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/microsoft/appcenter/issues/324#issuecomment-871267411, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACVADQOMDBAD7GO6MNWZKLLTVLTZPANCNFSM4HGP47TQ.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Oddj0b picture Oddj0b  Â·  3Comments

sklmnv picture sklmnv  Â·  3Comments

master-lincoln picture master-lincoln  Â·  3Comments

KSemenenko picture KSemenenko  Â·  3Comments

DouglasMarq picture DouglasMarq  Â·  4Comments