Altova XMLSpy 2025 Professional Edition

Le mode Débogage de la fenêtre XPath/XQuery (voir capture d'écran ci-dessous) vous permet de déboguer une expression XPath/XQuery qu'elle s'applique au fichier actif.

 

Dans le Mode Débogage, deux volets supplémentaires sont ajoutés au volet Résultats (voir capture d'écran ci-dessous):

 

Les Expressions Watch et le volet Variables ; tous deux, les expressions watch et les variables sont affichées ensemble dans le même volet, avec des variables pouvant être activées/désactivées.

le volet Pile d’appel et Points de débogage, dont chacun a un onglet séparé dans le volet

XPXQWindowDebug01

Les volets Expression et Résultat peuvent s'afficher horizontalement ou verticalement. Pour passer entre les deux vues, cliquez sur la touche Layout Horizontal/Vertical (en haut à droite dans la barre d'outils de la fenêtre).

 

Le Mode Débogueur propose les fonctions suivantes :

 

Vous permet de pénétrer dans le processus d’évaluation XPath, une étape à la fois pour voir comment l’expression XPath est évaluée. Utiliser la touche de la barre d’outils Entrer dans (F11). À chaque étape d’évaluation, la partie de l’expression actuellement évaluée est marquée en jaune (voir capture d'écran ci-dessus), alors que le résultat de l’évaluation de cette étape est affiché dans le volet Résultats. Par exemple, dans la capture d'écran ci-dessus, tous les éléments descendants section de l'élément book ont été sélectionnés, peu importe s’ils apparaissent comme éléments enfant book ou s’ils sont imbriqués plus bas.

Les Expressions Watch et le volet Variables affiche le nœud contexte de l’étape d’expression qui est en cours d’évaluation. Donc, dans la capture d’écran ci-dessus, par exemple, l’étape d’expression en cours d’évaluation est //section. Son nœud contexte est book. Donc le nœud book (et son contenu) est affiché comme item de contexte.

Définir des points d’arrêt dans les endroits où vous souhaitez interrompre l’évaluation et contrôler les résultats à ces points. Vous pouvez Alors faire défiler l'évaluation en ne vous arrêtant que dans les points d'arrêt. Utiliser la touche de la barre d'outils Lancer le débogage (F5). Cela est plus rapide que de s'interrompre à chaque étape avec Pas à pas détaillé (F11).

Définir des points de trace pour consulter un rapport des résultats dans les étapes marquées en tant que point de trace. L’évaluation ne s’interrompra pas (sauf aux points d’arrêt), mais tous les résultats du point de trace seront affichés dans une liste dans le volet Résultats.

Des expressions Watch peuvent être utilisées pour contrôler l’information (comme des contenus de document ou des aspects de l’évaluation) au fur et à mesure que l’évaluation progresse. L’affichage de l’item de contexte est d’une grande utilité dans la même fenêtre. Ceci vous permet d’évaluer comment le résultat de l’expression watch est liée à l’item de contexte. Vous pouvez saisir de multiples expressions watch, ce qui est utile pour comparer les résultats de différentes expressions à l’intérieur de l’item de contexte.

Les Variables qui sont dans l’étendue, y compris leurs valeurs, sont affichées dans les Expressions Watch et le volet Variables. Vous pouvez activer/désactiver les globales et variables séparément. Il peut être très utile de voir les valeurs des variables à l’intérieur d’un item de contexte ensemble avec le résultat des expressions watch.

Les appels du processeur d’une étape d’évaluation sont affichés dans l’onglet Pile d’appel du volet Pile d’appel et Points de débogage.

Si des points d’arrêt et des points de trace ont été définis, alors ils seront affichés dans l’onglet Points de débogage du volet Pile d’appel et Points de débogage.

 

Pour plus d'information à propos de ces fonctions, voir leur description ci-dessous.

 

Configurer le mode Débogage

Pour passer au mode Débogage, cliquer sur Lancer débogage dans le menu déroulant de la commande Lancer évaluation/débogage (F5) (situé en haut à gauche de la barre d'outils ; voir capture d'écran ci-dessous). Dans le mode Débogage, les volets Expressions Watch et Points de débogage apparaîtront. Pour lancer le débogage de l'expression actuelle, cliquer sur Lancer Débogage ou sur F5.

XPXQWindowSelectEvalMode

Veuillez noter que le mode de débogage ne fonctionne qu'avec le fichier actuel, il ne peut pas être utilisé avec plusieurs fichiers. En résultat, l'option sera définie automatiquement sur Fichier actuel lorsque vous passez dans ce mode et ne peut pas être changé.

 

 

Lancer le débogueur

Les étapes générales pour déboguer une expression XPath/XQuery sont généralement, les suivantes :

 

1.Faire du fichier XML/JSON sur lequel vous souhaitez exécuter l'expression le fichier actif.

2.Sélectionner la version XPath/XQuery(Update) de l’expression que vous voulez déboguer.

3.Saisir l'expression XPath/XQuery dans le volet d'expression.

4.Définir tous les points d’arrêt ou les point de trace que vous souhaitez. Un point d’arrêt est un point au niveau duquel l’évaluation est interrompue. Un point d’arrêt est un point dans l’évaluation qui est enregistré ; les points de trace fournissent donc un chemin traçable des résultats d’évaluation.

5.Si vous cliquez sur Lancer débogage, l'évaluation est effectuée dans une étape jusqu'à la fin à moins qu'un point d'arrêt a été marqué dans l'expression. Cliquer sur Lancer débogueur plusieurs fois pour passer dans chaque point d’arrêt jusqu’à la fin de l’évaluation.

6.Utiliser la fonction Pas à pas détaillé/sortant/principal pour se rendre étape par étape par le biais de l'évaluation. Vous pouvez aussi utiliser la fonction « Run to Cursor » pour aller directement vers l’étape de l’expression où vous placez le curseur.

 

 

Entre, sort et passe par-dessus les étapes d’évaluation

La fonction Pas à pas détaillé vous permet de passer étape par étape à travers l’évaluation. Chaque clic de cette commande vous fait passer dans l’étape suivante de l’évaluation ; l’étape actuelle est soulignée par le marquage dans l’expression (voir capture d'écran ci-dessous). La fonction Pas à pas sortant vous amène à une étape dans un niveau supérieur que l’étape actuelle, alors que la fonction Pas à pas principal passe par-dessus les étapes de niveau inférieur et vous amène à l’étape suivante dans le même niveau. Vous pouvez tester la fonction Pas à pas en collant l'expression XQuery 3.1 indiquée ci-dessous dans le volet Expression et cliquer sur les trois touches Pas à pas pour découvrir comment elles fonctionnent.

 

 

 

La capture d'écran ci-dessous montre l'évaluation lorsque le traitement a été interrompu lorsque l'étape addition $a + $b a été atteinte pendant le premier passage à travers la boucle ; c'est à dire, lorsque $i=1. Au niveau de cette étape d'addition, le résultat montre 3 (en tant que conséquence de 1+2).

XPXQWindowDebug02

 

Points d’arrêt

Des point d’arrêt sont des points dans lesquels vous souhaitez que le débogueur s’arrête après l'avoir lancé avec la touche Lancer débogueur. Ils sont utiles lorsque vous souhaitez analyser une partie spécifique de l’expression. Lorsque le débogueur s’arrête au point d’arrêt, vous pouvez contrôler le résultat et vous pouvez ensuite utiliser la fonction Pas à pas détaillé pour afficher les résultats des étapes suivantes de l’évaluation. Pour définir un point d’arrêt, placer le curseur dans l’expression à l’endroit où vous souhaitez trouver le point d’arrêt, et cliquer sur la touche de la barre d’outils Insérer/Supprimer point d’arrêt (F9). Le point d’arrêt sera marqué avec une surligne en pointillés rouge. Pour retirer un point d’arrêt, le sélectionner et cliquer sur Insérer/Supprimer point d’arrêt (F9).

 

Voir aussi Points de débogage ci-dessous.

 

Points de trace

Des points de trace sont des points dans lesquels les résultats sont enregistrés. Ces résultats sont affichés dans l’arborescence Traces de l’onglet Résultat (voir capture d'écran ci-dessous). Cela vous permet de voir tous les résultats d’évaluation des parties particulières de l’expression. Par exemple, dans la capture d'écran ci-dessous, des points de trace ont été définies dans $a, $b, et local:plus($i, $i+1); les résultats au niveau de ces points de trace pendant la première itération à travers la boucle sont affichés dans l'arborescence Traces : $a=1, $b=2, and local:plus($i, $i+1)=3.

 

Pour définir un point de trace, placer le curseur à l’endroit où vous souhaitez trouver le point de trace, et cliquer sur la touche de la barre d’outils Insérer/Supprimer point de trace (F9). Les points de trace seront marqués avec une surligne en pointillés bleu (voir capture d'écran ci-dessous). Pour supprimer un point de trace, le sélectionner et cliquer sur Insérer/Supprimer points de trace (F9).

XPXQWindowDebug03Tracepoints
Note :si le point d'arrêt et le point de trace sont définis sur une partie de l'expression, alors la surligne est composée de pointillés rouge et bleu.

 

Voir aussi Points de débogage ci-dessous.

 

Expressions Watch et Variables

Les expressions Watch et Variables sont affichées dans le volet Expressions Watch et Variables (volet central inférieur dans la capture d'écran ci-dessous).

Cliquer pour agrandir/réduire

Expressions Watch

Les expressions Watch sont des expressions que vous pouvez saisir, soit avant le début de l'évaluation ou pendant une interruption dans une évaluation. Elles peuvent être utilisées pour les objectifs suivants :

 

Pour tester des conditions spécifiques. Par exemple, dans la capture d'écran ci-dessus, l'expression watch $i=1 to 5 est utilisée pour tester si la variable $i a une valeur dans la plage donnée. Le résultat true nous dit que cette condition a été remplie dans le contexte de traitement actuel.

Pour trouver des données dans le cadre d'un contexte particulier. Par exemple, dans le cadre du contexte d'un élément Company, nous pouvez saisir une expression watch @id pour consulter ce code de clients de l'entreprise dans le document XML cible.

Pour générer des données supplémentaires. Par exemple, dans la capture d'écran ci-dessus, l'expression watch if ($i=1 to 5) then (concat("Iteration ", $i)) else "Out of Loop" can generate a suitable string to indicate in which iteration of the loop the evaluation currently is.

 

Pour saisir l'expression watch, cliquez sur Ajouter entrée Watch dans la barre d'outils du volet, puis saisissez l’expression et cliquez sur Entrée lorsque vous avez terminé. Pour supprimer une expression watch, la choisir et cliquer sur Supprimer watch dans la barre d'outils. Si, au cours du débogage, l’expression ne peut pas être évaluée correctement pour une raison quelconque (par exemple si une de ses variables est hors de portée), l’expression watch passe au rouge.

 

Variables

Les variables qui ont été déclarées dans l'expression et qui sont incluses dans l'étape d'évaluation actuelle seront affichées avec leurs valeurs actuelles respectives. Par exemple, dans la capture d'écran ci-dessus, le traitement vient d'atteindre l'appel dans la fonction local:plus. La variable $i se trouve dans la plage contenue dans la fonction local:loop et vient d'être incrémentée à 2. Donc$i est affiché avec sa valeur actuelle. Vous pouvez activer/désactiver l’affichage des variables locales et globales en cliquant sur leurs icônes de la barre d’outils respectives.

 

Icônes du volet

Notez la disponibilité des fonctions suivantes par le biais des icônes du volet.

 

Icône

Fonction

Suivant, Précédent

Sélectionne, respectivement, l'item suivant et précédent dans la liste de résultats

Copier la ligne de texte sélectionnée dans le presse-papiers

Copie la colonne de valeur de l'item de résultat sélectionné dans le presse-papiers. Afin de copier toutes les colonnes, activer la commande La copie contient toutes les colonnes (voir ci-dessous)

Copier tous les messages dans le presse-papiers

Copie la colonne de valeur de tous les items de résultat dans le presse-papiers, y compris des valeurs vides. Chaque item est copié en tant que ligne séparée

La copie contient toutes les colonnes

Passe entre la copie (i) de toutes les colonnes, ou (ii) uniquement la colonne de valeur. Le séparateur de colonne est un espace unique

Recherche

Ouvre un dialogue Chercher pour chercher un string, y compris des caractères spéciaux, dans la liste de résultat

Chercher précédent

Cherche l'occurrence précédente du terme qui a été saisi en dernier dans le dialogue Chercher

Trouver suivant

Cherche l'occurrence suivante du terme qui a été saisi en dernier dans le dialogue Chercher

Élargir avec des enfants

Élargit l’item sélectionné et tous ses descendants

Comprime avec les enfants

Comprime l’item sélectionné et tous ses descendants

Supprimer

Supprime la liste de résultats

 

 

Pile d’appel

L’onglet Pile d’appel du volet Pile d’appel et Points de débogage(volet en bas à droite dans la capture d'écran ci-dessus) affiche les appels du processeur jusqu’à ce point du débogage. L’appel de processeur actuel est marqué en jaune. Veuillez noter que seuls les appels qui mènent directement à l'étape d'évaluation actuelle sont affichés. Par exemple, dans la capture d'écran ci-dessus, l'étape d'évaluation actuelle est un appel de fonction dans la fonction local:plus. Maintenant, bien qu'il s'agisse de la seconde itération de local:loop, les appels de processeur de la première itération ne sont pas affichés. Cela est dû au fait que ces appels se trouvent sur un niveau parallèle dans l'appel de fonction actuel et n'ont pas mené à la fonction.

 

Points de débogage

L'onglet Points de débogage du volet Pile d'appel et Points de débogage (volet inférieur de droite dans la capture d'écran ci-dessous) montre les points d'arrêt (avec des cercles rouges) et des points de trace (cercles bleus) que vous avez défini dans l'expression. Chaque point de débogage (point d’arrêt ou point de trace) est recensé avec son numéro de ligne et de caractère. Par exemple, FunctionCall@7:17 signifie qu'il y a un point de débogage sur la ligne 7, caractère 17.

XPXQWindowDebugPoints

Veuillez noter les fonctions suivantes :

 

En ce qui concerne les points d'arrêt, vous pouvez saisir la condition d'arrêt en double-cliquant sur Saisir condition d'arrêt, en saisissant l'expression pour la condition, et en appuyant sur Entrée. Ce point d’arrêt sera uniquement activé si la condition break évalue à true. Par exemple, dans la capture d'écran ci-dessus, la condition d'arrêt $i=3 activera le point d'arrêt sur cet appel de fonction uniquement lorsque la valeur de $i est 3. La capture d'écran montre que l'évaluation s'est interrompue à ce point d'arrêt.

Vous pouvez activer/désactiver tous les points de débogage en cliquant sur leur touche de barre d’outils respective : Enable All Debug Points et Disable All Debug Points. Lorsqu’un point de débogage est désactivé, il est désactivé pour toutes les évaluations jusqu’à ce qu’il soit réactivé ultérieurement.

Vous pouvez aussi activer/désactiver les breaks pendant le traitement si une erreur de traitement est rencontrée en activant/désactivant l’icône de la barre d’outils.

Vous pouvez activer/désactiver les points d’arrêt individuels dans leurs menus contextuels respectifs et en cliquant dans leurs icônes de cercle. Lorsqu’une icône arrondie est grisée, le point de débogage a été désactivé.

 

Options d’affichage

Lorsque vous cliquez sur le bouton Afficher Options (icône d’engrenage), un dialogue XPath/XQuery apparaît dans lequel vous pouvez spécifiez des options d’affichage du volet Résultats et des Expressions Watch ainsi que les volets Variables.. Vous pouvez choisir d’afficher pour chaque volet séparément :

 

les résultats comme structure d’arborescence extensible ou comme string XML sérialisé (un nœud est affiché comme string de texte, tout comme il est écrit dans un document XML), et

les attributs inline, ce qui signifie que les attributs et leurs valeurs sont affichés comme élément (additionnel dans l’affichage de la structure d’arborescence du nœud).

 

© 2018-2024 Altova GmbH