meine Xamarin Forms App läuft inzwischen auf vielen Handys und Tablets. Auch sehr stabil und zuverlässig. immer noch VS 2019.
Leider ist es bei Auftreten eines Fehlers so dass die App einfach abstürzt, und natürlich weiß man nicht wieso.
Ich habe jetzt ein sehr einfaches Error Handling eingebaut dass alle Fehler abfängt, in eine Datei schreibt und beim nächsten Start anzeigt.
Jetzt sehe ich zwar den Fehler und den Stack, aber leider nicht die Zeilennummer wo der Fehler aufgetreten ist. Auch wenn ich die PDB-Datei mitliefere oder einbette ist das so.
protected override void OnCreate(Bundle savedInstanceState)
{
...
System.AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
System.Threading.Tasks.TaskScheduler.UnobservedTaskException += TaskSchedulerOnUnobservedTaskException;
...
}
private void CurrentDomainOnUnhandledException(object sender, System.UnhandledExceptionEventArgs e)
{
UnhandledException(sender, (System.Exception)e.ExceptionObject);
}
private void TaskSchedulerOnUnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
{
UnhandledException(sender, e.Exception);
}
private void UnhandledException(object sender, System.Exception ex)
{
string error = ex.Message;
if (ex.InnerException != null) error += "\r\n" + ex.InnerException.Message;
error += "\r\n\r\nStack :" + ex.StackTrace;
if (error.Length > 500) error = error.Substring(0, 500) + " ...";
File.WriteAllText(Path.Combine(FileSystem.AppDataDirectory, "Errorlog.txt"), error);
}
Wie kann ich die genaue Stelle herausbekommen wo der Fehler aufgetreten ist ?
2. Frage : Im Debug Mode ist es auch so dass beim Auftreten eines Fehlers die Stelle im Code nicht angezeigt wird wo der Fehler aufgetreten ist. Ist das bei Xamarin Forms immer so ?
Sehr unpraktisch.
Grüße Bernd