Hinzufügen und Entfernen von Breakpoints
Breakpoints sind gesetzte Meilensteine, an denen das Mapping während der Ausführung im Debug-Modus unterbrochen wird. Alle von Ihnen erstellten Breakpoints werden global für alle Mappings gespeichert und im Fenster "Breakpoints" angezeigt. Breakpoints sind gültig, bis Sie diese explizit löschen oder MapForce schließen.
Anmerkung: | Zu den folgenden Elementen können keine Breakpoints hinzugefügt werden: Konstanten, die Funktion core | position, Nachfahren-Datenelemente von "Alles kopieren"-Verbindungen, Parameter von "inline" gesetzten benutzerdefinierten Funktionen. |
Breakpoints können einfache Breakpoints sein oder mit einer Bedingung versehen sein. Bei einfachen Breakpoints wird die Mapping-Ausführung in jedem Fall angehalten. Bei Breakpoints mit einer Bedingung wird die Mapping-Ausführung nur dann angehalten, wenn die Bedingung, die diesen zugewiesen wurde, erfüllt wird. Bedingungen haben die Form vordefinierter Funktionen aus der MapForce-Funktionsbibliothek, für die Sie benutzerdefinierte Werte bereitstellen, d.h. wenn die Bedingung erfüllt wird, also 'true' ist, wird die Mapping-Ausführung an diesem Breakpoint angehalten.
Um einen einfachen Breakpoint zu erstellen, wählen Sie eine der folgenden Methoden:
•Klicken Sie mit der rechten Maustaste auf einen Input- oder Output-Konnektor (die kleinen Dreiecke links oder rechts von einer Komponente) und wählen Sie Debugger Breakpoint.
•Klicken Sie auf einen Output-Konnektor und drücken Sie anschließend F9.
So erstellen Sie einen Breakpoint mit einer Bedingung:
1.Klicken Sie mit der rechten Maustaste auf einen Konnektor und wählen Sie Breakpoint-Eigenschaften.
![dlg_debug_conditional_breakpoint](./images/dlg_debug_conditional_breakpoint.png)
2.Aktivieren Sie die beiden Kontrollkästchen Breakpoint und Bedingung.
3.Wählen Sie die gewünschte Funktion aus der Liste aus und geben Sie den Funktionswert (falls erforderlich) ein. Im Beispiel oben wird die Mapping-Ausführung am Breakpoint angehalten, wenn der Wert, der übergeben wird, größer als 2 ist.
Wenn der Datentyp des Konnektors, zu dem Sie den Breakpoint mit der Bedingung hinzufügen, nicht mit dem/den von der Funktion erwarteten Typ(en) übereinstimmt, so versucht MapForce, den Datentyp automatisch zu konvertieren. Wenn eine automatische Konvertierung nicht möglich ist, schlägt die Ausführung des Mappings fehl. Wählen Sie daher nur kompatible Datentypen aus, um dies zu vermeiden. So wird z.B. von der Funktion core.starts-with ein String-Wert erwartet, daher muss der Konnektor des Breakpoint denselben Typ haben. |
Entfernen von Breakpoints
Um einen Breakpoint zu entfernen, klicken Sie mit der rechten Maustaste auf den Konnektor, an dem der Breakpoint gesetzt wurde und wählen Sie den Befehl Debugger-Breakpoint. Klicken Sie alternativ dazu auf den Input- oder Output-Konnektor, an dem der Breakpoint gesetzt wurde, und drücken Sie F9.
Sie können Breakpoints aus über das Fenster "Breakpoints" entfernen (siehe Verwendung des Fensters "Breakpoints").
Nicht erreichbare Breakpoints
In manchen Fällen wird von MapForce eine Meldung angezeigt, dass Breakpoints nicht erreicht werden konnten:
![debug_cannot_reach_braeakpoint](./images/debug_cannot_reach_braeakpoint.png)
Dies weist darauf hin, dass Breakpoints aus einem der folgenden Gründe vom Debugger nicht erreicht werden konnten:
•Es wurde ein Breakpoint für einen Konnektor definiert, der im Mapping nicht verwendet wird.
•Der Breakpoint konnte aufgrund interner Optimierungen von MapForce nicht erreicht werden (siehe Einschränkungen).
Klicken Sie auf Fortsetzen, um zum nächsten definierten Breakpoint oder zum Ende der Debugging-Ausführung weiterzugehen. Klicken Sie auf Schritt, um das Debuggen in Schritten zu starten.
Sie können Meldungen über vom Debugger nicht erreichte Breakpoints deaktivieren, indem Sie entweder auf Diese Meldung nicht mehr anzeigen klicken, oder folgendermaßen vorgehen:
1.Klicken Sie im Menü Extras auf Optionen.
2.Klicken Sie auf Meldungen.
3.Deaktivieren Sie das Kontrollkästchen Über nicht erreichbare Breakpoints informieren.