How do I debug an Android app that crashes only in Release Mode

android android-8.1-oreo entity-framework-core xamarin

Question

Everything works in Debug Mode but Crashes in Release Mode. What required permissions are available in Debug Mode that are not turned on in Release mode?

EDIT

When I set Linking to None, I get past the first screen to my Login screen. However, when I added the Release permission Internet, the first time it tries to read a remote Entity Framework Core Table it crashes.

EDIT 2

In Release Mode, if I check Use Shared Runtime, the app runs fine.

EDIT 3

I have turned on Debugging while in Release mode Temporarily. The Following line throws a System.TypeInitializationException only in Release Mode:

if (_context.bma_users.Any(p => p.username == _name.Text) && _name.Text != string.Empty)
1
5
8/16/2018 5:07:05 PM

Accepted Answer

The answer was to set Additional supported encodings to West in the Android Options screen under Project Properties. It doesn't seem related but I was trying every possible combination and this finally worked.

1
8/16/2018 6:47:49 PM

Popular Answer

IF YOU JUST WANT TO SEE THE CRASH LOG:

Assuming you have Android Studio and no crash report service implemented (Firebase, Crashlytics, etc...)

You might want to see the crash log print first:

  • Open the Logcat in Android Studio.
  • Change Log Level to Error.
  • Make sure USB debugging is enabled on your device.
  • Connect your device to the computer.
  • Make the app crash and see what it prints.

If you can't reproduce:

Next time it crashes, connect the device and do the same as above. Usually the log history will be available to view, scroll until you find the crash :)

Look for FATAL EXCEPTION

  • Keep in mind - using the Logcat search bar can clear the log history, in most cases you can reconnect your device to view it again.


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow