---
title: Fehlerbehebung in mobilen Anwendungen
date: 2020-08-05
categories:
  - app-development
  - mobile-development
  - mobiletogether
  - tools
tags:
  - app-development
  - mobile-app-debugging
  - mobile-development-tools
  - mobiletogether
description: Entwickler benötigen Tools zur Fehlerbehebung für mobile Anwendungen, um das Verhalten der App zu verstehen und Probleme zu beheben. MobileTogether bietet umfassende Debugging-Funktionen zur Analyse des Ablaufs der App-Ausführung.
---
Status: #blog

Tags:  #app-development #mobile-app-debugging #mobile-development-tools #mobiletogether

Categories: [mobile-development](/blog/de/category/mobile-development.md) 
# Fehlerbehebung in mobilen Anwendungen

MobileTogether ist ein Werkzeug zum Erstellen hochkomplexer, eleganter und plattformübergreifender Lösungen. Entwickler benötigen Tools zur Fehlerbehebung für mobile Anwendungen, um während der Entwicklung Probleme zu identifizieren und das Verhalten der App zu verstehen. Der MobileTogether Designer bietet umfassende Debugging-Funktionen für den Ablauf der App-Ausführung innerhalb von Aktionsbäumen und [Fehlerbehebung bei XPath-/XQuery-Funktionen](/blog/de/2021/03/developing-and-debugging-user-functions-in-mobile-apps.md)Diese Funktionen werden in zwei Debugging-Ansichten für mobile Anwendungen bereitgestellt, die in einem einzigen Tool integriert sind.

Die Ansicht "Aktionen-Debugger" ermöglicht es Entwicklern, die Aktionen eines Steuerelement-Ereignisses oder eines Seiten-Ereignisses zu debuggen. Diese Ansicht ist verfügbar, wenn während der Verarbeitung eine Aktion gefunden wird, für die ein Debugging ausgewählt wurde. Die Ansicht "XPath-Debugger" öffnet das Fenster für die Auswertung von XPath-/XQuery-Ausdrücken, um eine detaillierte Nachverfolgung und Fehlersuche durchzuführen.

Entwickler können Haltepunkte an verschiedenen Stellen setzen und die Anwendung dann schrittweise ausführen, wobei sie die Ausführung jederzeit anhalten können, um die gesamte Ausführungsumgebung zu untersuchen, sowohl im Code- als auch im visuellen Bereich.

Schauen wir uns die praktische Anwendung der Fehlersuche in mobilen Apps an:

![](/blog/images/MT-debugger-lead.jpg)

<!--more-->

In einem früheren Beitrag über [Programmiertechniken für die mobile Entwicklung](https://www.altova.com/blog/programming-techniques-for-mobile-development/) haben wir eine App zur Überwachung der Luftqualität verwendet, um eine Subroutine in einer mobilen App zu veranschaulichen. Die Subroutine, die als eine Aktionsgruppe in MobileTogether implementiert ist, berechnet die lokale Zeit eines Luftqualitätsmesswerts anhand von Daten, die von einer API zurückgegeben werden. Diese Daten werden als GMT-Zeit und ein Anpassungswert geliefert. Wir können die Subroutine debuggen, um sicherzustellen, dass unsere Berechnungen korrekt sind.

Zuerst setzen wir einen Haltepunkt am Anfang der lokalen Aktionsgruppe für die Zeitberechnung, um die Ausführung anzuhalten, wenn die Unterroutine aufgerufen wird:

[![Ein Haltepunkt für das Debugging von mobilen Anwendungen setzen](/blog/images/set-break.png)](set-break.png)

Sie können beliebig viele Haltepunkte setzen, und Sie müssen sich keine Sorgen machen, diese später wiederzufinden. Sie werden über das Hauptmenü "Debuggen" verwaltet:

[![Optionen im Hauptmenü zur Fehlersuche](/blog/images/debug-menu-1.png)](debug-menu-1.png)

Wir haben auch das Menü verwendet, um die Option "Stoppen beim nächsten Haltepunkt" zu aktivieren. Jetzt können wir unsere App im Simulator ausführen, und sie wird normal laufen, bis die Aktionsgruppe "Calc lokale Zeit" aufgerufen wird.

Das Bild unten zeigt die Anzeige des Simulators, als die App an einem Haltepunkt angehalten wurde. Der Benutzer hatte einen Bericht für die Stadt London ausgewählt, die App hat die API aufgerufen, und jetzt möchte sie die lokale Zeit anhand der zurückgegebenen Daten berechnen:

[![Ansicht zur Fehlersuche, wenn die Ausführung an einem Haltepunkt angehalten wird](/blog/images/stop-at-break.png)](stop-at-break.png)

Auf der linken Seite des Bildschirms sind zwei Bereiche für den Debugger geöffnet. Oben sehen wir die Aktionen, die ausgeführt werden sollen, wobei ein roter Haltepunkt und ein grüner Pfeil den aktuellen Schritt markieren. Im Bereich darunter sehen wir den Aufrufstapel der Aktionen, die zur aktuellen Aktionsgruppe führen.

Die Plus-Buttons im Aufrufstapel zeigen die Werte der Parameter an, die beim Aufruf der Aktionsgruppe übergeben wurden. Mit der Schaltfläche "Schrittweise Ausführung" oben können wir die Ausführung schrittweise fortsetzen:

[![Die an die Unterroutine übergebenen Parameter anzeigen](/blog/images/step-1.png)](step-1.png)

Warte mal, liegt London nicht in der gleichen Zeitzone wie Greenwich im Vereinigten Königreich und muss daher doch keine Anpassung von GMT vornehmen? Ich habe alle meine intelligenten Assistenten und Suchmaschinen gefragt – sie haben mir gesagt, dass sowohl London als auch Greenwich die britische Sommerzeit verwenden, die eine Stunde vor GMT liegt.

In jedem Fall sind das die Daten, die uns die API geliefert hat, also können wir fortfahren. Wenn wir die Kommentare durchgehen, gelangen wir zur ersten Aktion "Update Node":

[![Die erste Aktion, die von der Unterroutine ausgeführt wird](/blog/images/step-2.png)](step-2.png)

Der Knoten "localDateTime" wird auf den Wert des Parameters "$time" gesetzt.

Nächster Schritt:

[![Änderung der Datums- und Zeitzeichenkette](/blog/images/step-3.png)](step-3.png)

Der Buchstabe "T" wird zwischen Datum und Uhrzeit eingefügt, um die Syntax zu erfüllen, die für die Funktion `add-hours-to-dateTime()` erforderlich ist.

Nächster Schritt:

[![Fügen Sie die Stunden aus der Anpassung hinzu](/blog/images/step-4.png)](step-4.png)

Die Anpassungszeiten werden hinzugefügt.

Nächster Schritt:

[![Überprüfen Sie die Minutenanzeige und passen Sie sie gegebenenfalls an](/blog/images/step-5.png)](step-5.png)

Gibt es irgendwelche Anpassungen vorzunehmen? Nein.

Nächster Schritt:

[![Entfernen Sie den Buchstaben "T" aus dem Datums- und Zeitwert](/blog/images/step-6.png)](step-6.png)

Ersetzen Sie das Zeichen "T" durch ein Leerzeichen.

Nächster Schritt:

[![Das Ende der Unterroutine wurde erreicht](/blog/images/step-7.png)](step-7.png)

Die Kommentarzeile markiert das Ende der Aktionsgruppe. Nun können wir die grüne Schaltfläche "Ausführen" oben verwenden, um die normale Ausführung der App fortzusetzen. Eine Unterseite wird geöffnet, um den Luftqualitätsindex anzuzeigen:

[![Eine Ansicht der Unterseite mit dem Bericht zur Luftqualität](/blog/images/step-8.png)](step-8.png)

Die Überprüfung der Logik mithilfe der Funktion zur Fehlerbehebung von Aktionen in der mobilen App bestätigte, dass unsere Annahmen korrekt waren.

Es ist jedoch ziemlich mühsam und unnötig, das Zwischenergebnis bei jedem Schritt zu speichern. Wir sollten die einzelnen Schritte zu einem einzigen Ausdruck zusammenfassen:

[![Die Datums- und Zeitkorrektur in einem einzigen Schritt durchführen
](/blog/images/new-action-group.png)](new-action-group.png)

Die drei ursprünglichen Aktionen sind deaktiviert und durch eine einzige Aktion ersetzt, die einen komplexen Ausdruck enthält. Wir können diesen Ausdruck mit der XPath-Debugger-Ansicht testen.

Wir hätten nahtlos zwischen den verschiedenen Ansichten wechseln können, aber wir haben die erste Debugging-Sitzung unterbrochen, um den Ausdruck zu bearbeiten. Jetzt werden wir diese neue Version im Simulator ausführen. Dieses Mal, wenn sie am Haltepunkt stoppt, werden wir die Schaltfläche "In XPath eintauchen" verwenden, um das Debugging der mobilen App in der Ansicht "XPath/XQuery-Debugger" zu starten:

[![Fehlerbehebung in mobilen Anwendungen im Ausdrucksfenster](/blog/images/step-xpath1.png)](step-xpath1.png)

Das Fenster für die XPath/XQuery-Evaluierung öffnet sich, und der Debugger beginnt mit der Auswertung des Ausdrucks:

[![Bewertung eines Ausdrucks während der Fehlersuche in mobilen Anwendungen](/blog/images/step-xpath2.png)](step-xpath2.png)

Jetzt verwenden wir die Schaltfläche "Schrittweise Ausführung" im XPath-Fenster, um die Auswertung des Ausdrucks Schritt für Schritt weiterzuverfolgen:

![Die Bewertung des Ausdrucks von innen nach außen](/blog/images/step-xpath3.png)

Die Abschnitte am unteren Rand des Bildes zeigen die Inhalte der Parameter, die beim Aufruf der Aktionsgruppe übergeben wurden. Die Quelle für die Variable "$time" war ein JSON-Objekt, das String-Daten enthielt und von der API zurückgegeben wurde.

Nächster Schritt:

[![Die Vorbereitung der Zeichenkette für die Funktion `add-dateTime()`](/blog/images/step-xpath4.png)](step-xpath4.png)

Innerhalb des Ausdrucks muss die Variable "T" weiterhin die syntaktischen Regeln der Funktion "add-hours-to dateTime()" einhalten.

Nächster Schritt:

![](/blog/images/step-xpath5-1.png)

Jetzt haben wir den Prozess wirklich abgeschlossen und die Berechnung vollständig durchgeführt. Bei dieser Ausführung war der ursprüngliche Wert des Parameters `$time` der 03.08.2020, 07:00:00 Uhr, und der Wert `$adj` für die Anpassung betrug -07:00 Stunden. Zu diesem Zeitpunkt ist unser Ergebnis 2020-08-03T00:00:00.

Die nächste Aktion besteht darin, zu prüfen, ob eine Anpassung für die Minuten erforderlich ist. Der Parameter „adj“ endet mit „00“, wodurch dieser Test fehlschlägt. Daraufhin wird das „T“ ersetzt und die Unterseite angezeigt:

[![Anzeige des neuen Berichts zur Luftqualität](/blog/images/san-fran-aqi.png)](san-fran-aqi.png)

Wenn Sie plattformübergreifende Entwicklung betreiben, benötigen Sie ein Tool mit Funktionen zur Fehlerbehebung für mobile Anwendungen! Sehen Sie sich unser MobileTogether an [Video-Demonstrationen](https://www.altova.com/de/mobiletogether/demos#video_Demos)mehr [Beispielanwendungen](https://www.altova.com/de/mobiletogether/demos)oder sogar das [Online-Handbuch](https://www.altova.com/manual/MobileTogether/mobiletogetherdesigner/) für eine detaillierte Betrachtung aller Informationen. Wenn Sie bereit sind, loszulegen und Ihre eigenen, plattformübergreifenden mobilen Anwendungen in kürzester Zeit zu entwickeln, [Laden Sie den MobileTogether Designer herunter](https://www.altova.com/de/mobiletogether/download) um zu beginnen.
