Debug-Modus

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Benutzerhandbuch und Referenz > Benutzeroberfläche und Umgebung > Die grafische Benutzeroberfläche > Ausgabefenster: "XPath/XQuery" >

Debug-Modus

Im Debug-Modus des "XPath/XQuery"-Fensters können Sie einen XPath/XQuery-Ausdruck im Kontext der aktiven Datei debuggen.

 

XPathXQueryWindowDebug01

 

Um in den Debug-Modus zu wechseln, klicken Sie auf die Schaltfläche Debug-Modus. Beachten Sie, dass der Debug-Modus im Auswertungsmodus nur dann aktiv ist, wenn in der Wo-Option die Aktuelle Datei ausgewählt ist. Der Grund hierfür ist, dass das Debuggen nur im Kontext der aktiven Daten durchgeführt wird.
Im Debug-Modus sehen Sie zwei Bereiche: (i) den Bereich, in den der Ausdruck eingegeben wird und (ii) das Ergebnisfenster. Diese Bereiche sind horizontal oder vertikal voneinander getrennt. Um zwischen diesen Layouts zu wechseln, klicken Sie auf die Schaltfläche Horizontale/Vertikales Layout.
Der Ergebnisbereich enthält drei Register: Ergebnis, Variablen und Call Stack. Wenn der Ergebnisbereich nicht hoch genug ist, um die Namen der drei Register anzuzeigen, werden diese ausgeblendet und nur die Symbole der Register angezeigt. Wenn Sie den Mauszeiger über ein Symbol platzieren, wird der Name des Registers angezeigt.
Click to expand/collapseSchaltflächen in diesem Abschnitt

icDebugMode

Debug-Modus

Wechselt zwischen dem Debug-Modus und dem Auswertungsmodus

icHorizontalVerticalLayout

Horizontales/Vertikales Layout

Wechselt zwischen dem horizontalen und dem vertikalen Layout

icXPXQDebugResult

Ergebnis

Wechselt zum Register "Ergebnis" des Ergebnisbereichs

icXPXQDebugVariables

Variablen

Wechselt zum Register "Variablen" des Ergebnisbereichs

icXPXQDebugCallStack

Call Stack

Wechselt zum Register "Call Stack" des Ergebnisbereichs

 

Schritte beim Debuggen

Das Debuggen eines XPath/XQuery-Ausdrucks erfolgt in den folgenden Schritten:

 

1.Machen Sie die XML-Datei, an der Sie den Ausdruck ausführen möchten, zur aktiven Datei.
2.Geben Sie den XPath/XQuery-Ausdruck in das Ausdrucksfenster ein.
3.Setzen Sie die gewünschten Breakpoints oder Tracepoints. Ein Breakpoint ist ein Punkt, an dem die Auswertung unterbrochen wird. Ein Tracepoint ist ein Breakpoint, an dem das Auswertungsergebnis dieses Node aufgezeichnet wird, sodass Sie während der Auswertung einen zurückverfolgbaren Pfad zur Verfügung haben.
4.Starten Sie den Debugger oder gehen Sie die Auswertung mit Hilfe der "Einsteigen", "Aussteigen", "Überspringen"-Funktion Schritt für Schritt durch.

 

Diese Schritte sind weiter unten Schritt für Schritt beschrieben.

 

Starten, Anhalten und Neustart des Debuggers

Nachdem der Debugger beendet wurde, ist nur die Schaltfläche Debugger starten aktiv. Nachdem der Debugger gestartet wurde und bevor er beendet wird, sind die Schaltflächen Debugger anhalten und Debugger neu starten aktiv.

 

Click to expand/collapseSchaltflächen in diesem Abschnitt

icStartDebugger

Debugger starten (Alt+F11)

Startet den Debugger. Der Debugger wertet den Ausdruck bis zum Ende aus. Er wird nur an Breakpoints unterbrochen.

icStopDebugger

Debugger anhalten

Beendet die Auswertung und stoppt den Debugger.

icRestartDebugger

Debugger neu starten

Startet die Auswertung von Beginn an erneut, wenn die Auswertung unterbrochen wurde (z.B. an einem Breakpoint).

 

Einsteigen, Aussteigen und Überspringen von Auswertungsschritten

 

Mit diesen Funktionalitäten können Sie die Auswertung Schritt für Schritt durchgehen. Jeder Klick leitet Sie durch den entsprechenden Schritt der Auswertung.

 

Click to expand/collapseSchaltflächen in diesem Abschnitt

icStepInto

Einsteigen (F11)

Durchläuft die Auswertung Schritt für Schritt. Dies ist eine detaillierte Einzelschrittauswertung.

icStepOut

Aussteigen (Umschalt+F11)

Steigt aus dem aktuellen Auswertungsschritt aus und geht zum Schritt auf der nächsthöheren Ebene.

icStepOver

Überspringen (Strg+F11)

Überspringt untergeordnete Schritte.

 

 

XPathXQueryWindowDebug02

 

 

Während der Auswertung im Debug-Modus wird der jeweils verarbeitete Ausdrucksschritt im Ausdruck markiert und das dazugehörige Ergebnis auf dem Ergebnisregister angezeigt (siehe Abbildung oben). Während Sie mit Einsteigen, dadurch dass jeder einzelne Schritt angezeigt wird, das detaillierteste Debugging erzielen, können Sie mit Aussteigen und Überspringen die Auswertung des Ausdrucks schneller durchlaufen.

 

 

Click to expand/collapseXQuery-Ausdruck zum Testen von "Einsteigen", "Aussteigen" und "Überspringen"

declare function local:plus($a$b) {

            $a + $b

};

 

declare function local:loop() {

            for $i in 1 to 10

            return (local:plus($i$i+1), local:plus($i+1, $i+2))

};

 

local:loop()

 

 

Breakpoints und Tracepoints

Breakpoints sind Punkte, an denen der Debugger angehalten werden soll, nachdem er mit Debugger starten gestartet wurde. Sie eignen sich dazu, einen bestimmten Teil eines Ausdrucks zu analysieren. Wenn der Debugger an einem Breakpoint anhält, können Sie das Ergebnis überprüfen. Mit Hilfe der Funktion Einsteigen können Sie anschließend die Ergebnisse des nächsten Schritts der Auswertung anzeigen. Um einen Breakpoint zu setzen, platzieren Sie den Cursor an dem Punkt in den Ausdruck, an dem Sie den Breakpoint setzen möchten und klicken Sie auf die Symbolleisten-Schaltfläche Breakpoint einfügen/löschen (F9). Der Breakpoint wird daraufhin mit einem rot strichlierten Überstrich markiert (siehe Abbildung unten). Um einen Breakpoint zu löschen, wählen Sie ihn aus und klicken Sie auf Breakpoint einfügen/löschen (F9).

 

XPathXQueryDebug03BreakTrace

 

Tracepoints sind Breakpoints, an denen die Ergebnisse aufgezeichnet und in der Ablaufverfolgungsstruktur des Registers Ergebnis (siehe Abbildung oben) angezeigt werden. Dadurch sehen Sie alle Auswertungsergebnisse bestimmter Teile des Ausdrucks. So wurden z.B. in der Abbildung oben Tracepoints bei $a, $b, local:plus($i, $i+1) und local:plus($i+1, $i+2) gesetzt; Tracepoints werden durch blau strichlierte Überstriche markiert. Wenn sich der Debugger an dem Teil des Ausdrucks befindet, der in der Abbildung markiert ist, und wenn der Wert von $i 1 ist, so werden auf dem Ergebnisregister die Werte der Ausdrucksnodes an den Tracepoints $a, $b, local:plus($i, $i+1) für diesen Wert von $i angezeigt. Um einen Tracepoint zu setzen, platzieren Sie den Cursor an die gewünschte Stelle im Ausdruck und klicken Sie auf die Symbolleisten-Schaltfläche Tracepoint einfügen/löschen (Umschalt+F9). Der Tracepoint wird durch einen strichlierten blauen Überstrich markiert (siehe Abbildung unten). Um einen Tracepoint zu entfernen, wählen Sie ihn aus und klicken Sie auf Tracepoint einfügen/löschen (F9).

 

Wenn an einer Stelle eines Ausdrucks sowohl ein Breakpoint als auch ein Tracepoint gesetzt wurde, so besteht der Überstrich aus abwechselnd gesetzten roten und blauen Strichen (siehe die Funktionsaufrufe local:plus($i, $i+1) und local:plus($i+1, $i+2) in der Abbildung oben).

 

Ergebnisregister des Bereichs "Ergebnisse"

Das Ergebnisregister (siehe Abbildung oben) enthält Symbole für Navigations-, Such- und Kopierfunktionen. In der unten stehenden Tabelle finden Sie eine Beschreibung der Symbole von links nach rechts. Die dazugehörigen Befehle stehen auch über das Kontextmenü von Einträgen der Ergebnisliste zur Verfügung.

 

Symbol

Funktion

 
Weiter, Zurück

Wählt jeweils den nächsten bzw. vorhergehenden Eintrag in der Ergebnisliste aus

Ausgewählte Textzeile in die Zwischenablage kopieren

Kopiert die Wertespalte des ausgewählten Ergebniseintrags in die Zwischenablage. Um alle Spalten zu kopieren, aktivieren Sie den Befehl Beim Kopieren werden alle Spalten inkludiert (siehe unten)

Alle Nachrichten in die Zwischenablage kopieren

Kopiert die Wertespalte aller Ergebniseinträge, darunter auch leere Werte, in die Zwischenablage. Jeder Eintrag wird als separate Zeile kopiert.

Beim Kopieren werden alle Spalten inkludiert

Wechselt zwischen der Funktion zum Kopieren (i) aller Spalten und (ii) nur der Wertespalte. Das Spaltentrennzeichen ist ein einziges Leerzeichen.

Suchen

Öffnet ein Suchdialogfeld zum Suchen nach einem beliebigen String - darunter auch von Sonderzeichen - in der Ergebnisliste.

Vorheriges suchen

Sucht nach der vorhergehenden Instanz des zuletzt im Suchdialogfeld gesuchten Eintrags.

Weitersuchen

Sucht nach der nächsten Instanz des zuletzt im Suchdialogfeld gesuchten Eintrags.

Zurücksetzen

Löscht die Ergebnisliste.

Mehrzeilige Ergebnisse auf eine einzige Zeile reduzieren

Wenn die Wertespalte eines Ergebniseintrags mehrzeiligen Text (Text der Zeilenvorschubzeichen beinhaltet) enthält, können Sie zwischen einer mehrzeiligen und einer einzeiligen Anzeige wechseln.

 

Variablen und Call Stack

Das Ergebnisfenster enthält zusätzlich zum Hauptregister Ergebnis die Register "Variablen" und "Call Stack" (Abbildungen unten).

 

Während des Debug-Vorgangs werden auf dem Register Variablen die Variablen des aktuellen Schritts sowie deren Werte angezeigt (siehe Abbildung unten).

 

XPathXQueryWindowDebug03

 

Auf dem Register Call Stack sehen Sie die verschiedenen Prozessoraufrufe bis zu diesem Punkt im Debugging-Vorgang. Die letzten Aufrufe werden ganz oben aufgelistet und der aktuellen Aufruf ist in beiden Fenstern gelb markiert (siehe Abbildung unten).

 

XPathXQueryWindowDebug04

 


© 2019 Altova GmbH