Android registers signal handlers before .NET's runtime registers its own signal handlers. Android's signal handlers will kill the .NET process before .NET's crash reporting logic has a chance to fire.
In dotnet/runtime#123735, a config property System.Runtime.CrashReportBeforeSignalChaining was added to allow opting-in to switching that order, allowing .NET's crash reporting logic to run.
The config property can possibly be set in
|
<!-- Default RuntimeHostConfigurationOptions --> |
and documented here
https://github.com/dotnet/android/blob/5f936b91172479056922dd4e49fab98ca0d0443a/Documentation/docs-mobile/building-apps/build-properties.md
After enabling, diagnostics such as logged managed callstacks dotnet/runtime#123824 and a crash report json file written on disk dotnet/runtime#126916 should be available (given the right runtime version)
Android registers signal handlers before .NET's runtime registers its own signal handlers. Android's signal handlers will kill the .NET process before .NET's crash reporting logic has a chance to fire.
In dotnet/runtime#123735, a config property
System.Runtime.CrashReportBeforeSignalChainingwas added to allow opting-in to switching that order, allowing .NET's crash reporting logic to run.The config property can possibly be set in
android/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.RuntimeConfig.targets
Line 35 in 5f936b9
After enabling, diagnostics such as logged managed callstacks dotnet/runtime#123824 and a crash report json file written on disk dotnet/runtime#126916 should be available (given the right runtime version)