We have developed a Xamarin Forms app supporting Android, iOS and Windows Phone. The app is working on all three OSes when deployed in Debug mode.
It's also working on Android and iOS when deployed in Release mode. It crashes immediately after displaying Splash screen on Windows Phone 8.1/10 when deployed with Release mode, but strangely all works fine when deployed using Debug mode.
What is the reason?
Is there a way to get see the app log to diagnose the crash reason?
EDIT 1:
Hi Gerald/Demitrian,
Thanks a lot for your response. Please find below the contents for Output window. There is a XamlParseException but no additional information. I have also attached the debug log from "Decuments\Debug" folder of a Windows Phone.
Contents from output window:
'AgHost.exe' (CoreCLR: DefaultDomain): Loaded 'C:\windows\system32\mscorlib.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.RuntimeHost.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Net.ni.dll'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Xml.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\MultiEventsApp.WinPhone.ni.DLL'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\MultiEventsApp.ni.DLL'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Parse.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Parse.Phone.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Core.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Runtime.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Threading.Tasks.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.Interop.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Core.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\WinMetadata\Windows.winmd'. Cannot find or open the PDB file.
Exception thrown: 'System.ArgumentNullException' in mscorlib.ni.dll
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Platform.WP8.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXing.Net.Mobile.Forms.WindowsPhone.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ImageCircle.Forms.Plugin.WindowsPhone.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Maps.WP8.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXing.Net.Mobile.Forms.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXingNetMobile.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXing.Net.Mobile.Core.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\System.Windows.Interactivity.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\microsoft.phone.controls.toolkit.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Collections.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Resources.ResourceManager.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ImageCircle.Forms.Plugin.Abstractions.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Maps.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.Maps.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Runtime.Serialization.ni.dll'. Symbols loaded.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Xaml.ni.DLL'. Cannot find or open the PDB file.
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Diagnostics.Debug.ni.dll'. Symbols loaded.
Exception thrown: 'Xamarin.Forms.Xaml.XamlParseException' in Xamarin.Forms.Xaml.ni.DLL
Exception thrown: 'System.Reflection.TargetInvocationException' in mscorlib.ni.dll
Exception thrown: 'System.Reflection.TargetInvocationException' in Microsoft.Phone.ni.dll
Contents from Documents\Debug folder:
Dump Summary
------------
Dump File: MultiEventsApp with exception E0434352 on 1-07-2017 17.55.dmp : C:\Users\Pocket_User\Desktop\MultiEventsApp with exception E0434352 on 1-07-2017 17.55.dmp
Last Write Time: 1/7/2017 5:55:50 PM
Process Name: aghost.exe : aghost.exe
Process Architecture: ARM
Exception Code: 0xE0434352
Exception Information:
Heap Information: Present
System Information
------------------
OS Version: 10.0.14393
CLR Version(s): 4.5.22926.0
Modules
-------
Module Name Module Path Module Version
----------- ----------- --------------
aghost.exe aghost.exe 10.0.14393.576
ntdll.dll ntdll.dll 10.0.14393.576
KERNELBASE.dll KERNELBASE.dll 10.0.14393.576
combase.dll combase.dll 10.0.14393.576
ucrtbase.dll ucrtbase.dll 10.0.14393.576
RPCRT4.dll RPCRT4.dll 10.0.14393.576
kernel32legacy.dll kernel32legacy.dll 10.0.14393.576
bcryptPrimitives.dll bcryptPrimitives.dll 10.0.14393.576
msvcrt.dll msvcrt.dll 7.0.14393.576
kernel.appcore.dll kernel.appcore.dll 10.0.14393.576
OLEAUT32.dll OLEAUT32.dll 10.0.14393.576
shcore.dll shcore.dll 10.0.14393.576
AgHostSvcs.dll AgHostSvcs.dll 10.0.14393.576
TaskHostCore.dll TaskHostCore.dll 10.0.14393.576
msvcp_win.dll msvcp_win.dll 10.0.14393.576
wintypes.dll wintypes.dll 10.0.14393.576
OnDemandBrokerClient.dll OnDemandBrokerClient.dll 10.0.14393.576
advapi32legacy.dll advapi32legacy.dll 10.0.14393.576
sechost.dll sechost.dll 10.0.14393.576
CoreUIComponents.dll CoreUIComponents.dll 0.0.0.0
CoreMessaging.dll CoreMessaging.dll 10.0.14393.576
EMCLIENT.dll EMCLIENT.dll 10.0.14393.576
TASKHOSTSVCS.dll TASKHOSTSVCS.dll 10.0.14393.576
WpPortingLibrary.dll WpPortingLibrary.dll 0.0.0.0
SspiCli.dll SspiCli.dll 10.0.14393.576
minuser.dll minuser.dll 0.0.0.0
win32u.dll win32u.dll 10.0.14393.576
gdi32.dll gdi32.dll 10.0.14393.576
modernapiexthost.dll modernapiexthost.dll 0.0.0.0
SecRuntime.dll SecRuntime.dll 0.0.0.0
gdi32min.dll gdi32min.dll 10.0.14393.576
WpCoreUtil.DLL WpCoreUtil.DLL 0.0.0.0
msvcp110_win.dll msvcp110_win.dll 10.0.14393.576
storageusage.dll storageusage.dll 10.0.14393.576
procthreadexthost.dll procthreadexthost.dll 0.0.0.0
ntmarta.dll ntmarta.dll 10.0.14393.576
CoreApplicationShim.dll CoreApplicationShim.dll 0.0.0.0
twinapi.appcore.dll twinapi.appcore.dll 10.0.14393.576
bcrypt.dll bcrypt.dll 10.0.14393.576
PsmApp.dll PsmApp.dll 10.0.14393.576
AppModelProxy.dll AppModelProxy.dll 0.0.0.0
pacmantileshim.dll pacmantileshim.dll 10.0.14393.576
VEEventDispatcher.dll VEEventDispatcher.dll 10.0.14393.576
ActXPrxy.dll ActXPrxy.dll 10.0.14393.576
pacmanclient.dll pacmanclient.dll 10.0.14393.576
RMClient.dll RMClient.dll 10.0.14393.576
mrmcorer.dll mrmcorer.dll 10.0.14393.576
windows.ui.dll windows.ui.dll 10.0.14393.576
dcomp.dll dcomp.dll 10.0.14393.576
inputhost.dll inputhost.dll 0.0.0.0
textinputframework.dll textinputframework.dll 10.0.14393.576
CRYPTBASE.dll CRYPTBASE.dll 10.0.14393.576
npctrl.dll npctrl.dll 0.0.0.0
PROPSYS.dll PROPSYS.dll 7.0.14393.576
agcore.dll agcore.dll 4.1.60221.0
SL_InterprocDll.dll SL_InterprocDll.dll 0.0.0.0
WS2_32.dll WS2_32.dll 10.0.14393.576
CRYPT32.dll CRYPT32.dll 10.0.14393.576
d3d11.dll d3d11.dll 10.0.14393.576
WININET.dll WININET.dll 11.0.14393.576
ole32_wp.dll ole32_wp.dll 10.0.14393.576
urlmon.dll urlmon.dll 11.0.14393.576
PlatformInterop.dll PlatformInterop.dll 0.0.0.0
MSASN1.dll MSASN1.dll 10.0.14393.576
dxgi.dll dxgi.dll 10.0.14393.576
iertutil.dll iertutil.dll 11.0.14393.576
shlwapi.dll shlwapi.dll 10.0.14393.576
cfgmgr32.dll cfgmgr32.dll 10.0.14393.576
dsclient.dll dsclient.dll 10.0.14393.576
Windows.Storage.dll Windows.Storage.dll 10.0.14393.576
powrprof.dll powrprof.dll 10.0.14393.576
profapi.dll profapi.dll 10.0.14393.576
coreclr.dll coreclr.dll 4.5.22926.0
CRYPTSP.dll CRYPTSP.dll 10.0.14393.576
werapiexthost.dll werapiexthost.dll 0.0.0.0
mscorlib.ni.dll mscorlib.ni.dll 4.5.22926.0
rsaenh.dll rsaenh.dll 10.0.14393.576
System.Windows.RuntimeHost.ni.dll System.Windows.RuntimeHost.ni.dll 2.0.6.0
System.Windows.ni.dll System.Windows.ni.dll 4.7.50915.0
System.Net.ni.dll System.Net.ni.dll 4.7.50915.0
System.ni.dll System.ni.dll 4.5.22926.0
System.Xml.ni.dll System.Xml.ni.dll 4.5.22926.0
appchromeapi.dll appchromeapi.dll 0.0.0.0
qcdx11um8612.dll qcdx11um8612.dll 9.18.2074.0
MSVCR120.dll MSVCR120.dll 12.0.21005.1
qcdx11compiler8612.dll qcdx11compiler8612.dll 1.0.2074.0
MSVCP120.dll MSVCP120.dll 12.0.21005.1
ShellChromeAPI.dll ShellChromeAPI.dll 0.0.0.0
MultiEventsApp.WinPhone.ni.DLL MultiEventsApp.WinPhone.ni.DLL 1.0.0.0
Microsoft.Phone.ni.dll Microsoft.Phone.ni.dll 0.0.0.0
MultiEventsApp.ni.DLL MultiEventsApp.ni.DLL 1.0.0.0
Parse.ni.DLL Parse.ni.DLL 1.7.0.0
Parse.Phone.ni.DLL Parse.Phone.ni.DLL 1.7.0.0
Xamarin.Forms.Core.ni.DLL Xamarin.Forms.Core.ni.DLL 2.0.0.0
System.Runtime.ni.dll System.Runtime.ni.dll 4.5.22926.0
System.Threading.Tasks.ni.dll System.Threading.Tasks.ni.dll 4.5.22926.0
Microsoft.Phone.Interop.ni.dll Microsoft.Phone.Interop.ni.dll 0.0.0.0
phoneinfo.dll phoneinfo.dll 0.0.0.0
System.Core.ni.dll System.Core.ni.dll 4.5.22926.0
wpnapps.dll wpnapps.dll 10.0.14393.576
XmlLite.dll XmlLite.dll 10.0.14393.576
Windows.ni.winmd Windows.ni.winmd 0.0.0.0
Windows.winmd Windows.winmd 0.0.0.0
StorageProxy.dll StorageProxy.dll 0.0.0.0
Windows.Storage.ApplicationData.dll Windows.Storage.ApplicationData.dll 10.0.14393.576
YPerfHealthLogger.dll YPerfHealthLogger.dll 0.0.0.0
dwrite.dll dwrite.dll 10.0.14393.576
Xamarin.Forms.Platform.WP8.ni.DLL Xamarin.Forms.Platform.WP8.ni.DLL 2.0.0.0
ZXing.Net.Mobile.Forms.WindowsPhone.ni.DLL ZXing.Net.Mobile.Forms.WindowsPhone.ni.DLL 2.1.47.0
ImageCircle.Forms.Plugin.WindowsPhone.ni.DLL ImageCircle.Forms.Plugin.WindowsPhone.ni.DLL 1.8.1.8
Xamarin.Forms.Maps.WP8.ni.DLL Xamarin.Forms.Maps.WP8.ni.DLL 2.0.0.0
ZXing.Net.Mobile.Forms.ni.DLL ZXing.Net.Mobile.Forms.ni.DLL 2.1.47.0
ZXingNetMobile.ni.DLL ZXingNetMobile.ni.DLL 2.1.47.0
ZXing.Net.Mobile.Core.ni.DLL ZXing.Net.Mobile.Core.ni.DLL 2.1.47.0
System.Windows.Interactivity.ni.DLL System.Windows.Interactivity.ni.DLL 3.0.30924.0
microsoft.phone.controls.toolkit.ni.DLL microsoft.phone.controls.toolkit.ni.DLL 8.0.1.0
System.Collections.ni.dll System.Collections.ni.dll 4.5.22926.0
System.Resources.ResourceManager.ni.dll System.Resources.ResourceManager.ni.dll 4.5.22926.0
ImageCircle.Forms.Plugin.Abstractions.ni.DLL ImageCircle.Forms.Plugin.Abstractions.ni.DLL 1.8.1.8
Xamarin.Forms.Maps.ni.DLL Xamarin.Forms.Maps.ni.DLL 2.0.0.0
Microsoft.Phone.Maps.ni.dll Microsoft.Phone.Maps.ni.dll 3.0.30701.2350
System.Runtime.Serialization.ni.dll System.Runtime.Serialization.ni.dll 4.5.22926.0
Xamarin.Forms.Xaml.ni.DLL Xamarin.Forms.Xaml.ni.DLL 2.0.0.0
System.Diagnostics.Debug.ni.dll System.Diagnostics.Debug.ni.dll 4.5.22926.0
errorhandlingext.dll errorhandlingext.dll 10.0.10011.16384
mintdh.dll mintdh.dll 10.0.14393.576
EDIT 2:
I made some progress on this issue. FontFamily property was causing issue in my case. So if remove the fontfamily property and run the app in Release mode, exception is not thrown anymore but the way the screen is rendered on the device doesn't look like in any way the it's rendered in Debug mode.
I have attached both the screen shots. I tried adding second option in Forms.Init as told by John but it's giving me error as the method doesn't support second option.
Debug mode screenshot
Release mode screenshot
On above behavior, I have following questions:
- Why the app is correctly working in Debug mode and not in Release mode?
- Why the screen renders correctly in Debug mode and not in Release mode?
- Why it doesn't throw any error the way it throws in Release mode?
- Is there any missing reference? Not sure if this is the case as the app would have thrown an exception saying so.
Any suggestions?
Finally, my problem is resolved. Please find the solution below if you have the same problem.
A step by step re-creation of the project revealed that my app was working fine until I added Xamarin.Forms.Maps package in my app. I was installing the latest version of Maps package which was upgrading it's dependant packages to a higher version. Maps plugin caused Xamarin.Forms package to upgrade from 2.3.2.127 to 2.3.3.180. So when I was deploying the app with this version of Xamarin Forms in release mode, it was causing the app crashing and UI issues mentioned in my earlier response above.
To resolve the problem, I fall back to a lover version of Maps which was compatible with 2.3.2.127 version of Xamarin Forms and voila!
Looks like there is a bug in 2.3.3.180 version of Xamarin Forms.