Altova XMLSpy 2023 Enterprise 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 dans le contexte du fichier actif.

 

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

 

Le volet Pile d'appel et Points de débogage, ils ont chacun un onglet individuel dans le volet

Le volet Variables et Expressions Watch ; les expressions watch et les variables sont indiquées dans le même volet.

XPathXQueryWindowDebug01

Les volets Expression et Résultat peuvent s'afficher horizontalement ou verticalement. Pour passer entre les deux vues, cliquer 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 d'entrer pas à pas 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 Pas à pas détaillé (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.

Définir des points d'arrêt à l'endroit où vous souhaitez interrompre l'évaluation et vérifier les résultats à ces endroits. Vous pouvez 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 points de trace. L'évaluation ne s'interrompra pas (sauf dans les points d'arrêt), mais les résultats de point de trace seront affichés dans une liste dans le volet Résultats.

Les expressions Watch peuvent être utilisées pour vérifier des information (comme des données de document ou des aspects de l'évaluation). Cela est particulièrement utile dans les points d'arrêt.

Les variables qui se trouvent dans l'étendue, y compris leurs valeurs sont affichées dans le volet Variables et Expressions Watch.

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

Si des points d'arrêt et de trace ont été définis, ceux-ci sont affichés dans l'onglet Points de débogage du volet Pile d'appels et Points de débogage.

 

Pour plus d'informations concernant 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.

 

 

Exécuter le débogage

Les étapes principales 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.Saisir l'expression XPath/XQuery dans le volet d'expression.

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

4.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ébogage plusieurs fois pour progresser à travers chaque point d'arrêt à la fin de l'évaluation.

5.Utiliser la fonction Pas à pas détaillé/sortant/principal pour se rendre étape par étape par le biais de l'évaluation.

 

 

Étapes de pas à pas détaillé, sortant , principal

La fonction Pas à pas détaillé vous permet de passer étape par étape à travers l'évaluation. Chaque clic de cette commande vous amène à travers l'étape suivante de l'évaluation ; l'étape actuelle est affichée en marquant l'expression (voir capture d'écran ci-dessous). La fonction Pas à pas sortante vous permet de vous amener à une étape d'un niveau supérieur en tant que l'étape actuelle, alors que la fonction Pas à pas principal passe au-dessus des étapes de niveau inférieur et vous amène dans l'étape suivante du 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).

XPathXQueryWindowDebug02

 

Points d'arrêt

Les points d'arrêt sont des points dans lesquels vous souhaitez que le débogueur stoppe une fois qu'il a été lancé avec Lancer débogage. 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 dans lequel vous souhaitez avoir un 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é rouge. Pour supprimer un point d'arrêt, le sélectionner et cliquer sur Insérer/Supprimer Point d'arrêt (F9).

 

Voir aussi les Points de débogage ci-dessous.

 

Points de trace

Les 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 individuelles 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, et local:plus(\$i, \$i+1)=3.

 

Pour définir un point de trace, placer le curseur au niveau dans lequel vous souhaitez avoir le point de trace, puis cliquer sur la touche de la barre d'outils Insérer/Supprimer Point trace (Shift+F9). Le point de trace sera marqué avec une surligne en pointillé bleu (voir capture d'écran ci-dessous). Pour supprimer un point de trace, le sélectionner et cliquer sur Insérer/Supprimer Point trace (F9).

 

XPathXQueryDebug03BreakTrace

 

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.

 

Variables, Expressions Watch et Pile d'appels

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

XPathXQueryWindowDebug03

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. Les variables \$a et \$b ne se trouvent pas dans local:loop et ne se trouvent donc pas dans la plage ; par conséquent, elles ne sont pas affichées.

 

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.

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, cliquer sur Ajouter entrée Watch dans la barre d'outils du volet (encerclé en rouge dans la capture d'écran ci-dessus), puis saisir l'expression et cliquer sur Entrée une fois que vous avez terminé. Pour supprimer une expression watch, la sélectionner et cliquer sur Supprimer l'entrée watch sélectionnée dans la barre d'outils. Si, pendant le débogage, l'expression ne peut pas être évaluée correctement pour plusieurs raisons (par exemple, si une de ses variables se trouve en dehors de la plage), alors l'expression watch passe au rouge.

 

Pile d'appels

L'onglet Pile d'appel du volet Pile d'appel et Points de débogage (volet situé en bas à droite dans la capture d'écran ci-dessus) affiche les appels de processeur jusque dans ce point dans le 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 est recensé avec son numéro de ligne et de caractère. Par exemple, FunctionCall@7:13 signifie qu'il y a un point de débogage sur la ligne 7, caractère 13.

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 activé uniquement lorsque la condition évalue sur 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 leurs touches de barre d'outils respectives : Activer tous les points de débogage et Désactiver tous les points de débogage (touches encerclées en vert dans la capture d'écran ci-dessus). Lorsqu'un point de débogage est désactivé pour toutes les évaluations jusqu'à ce qu'il soit activé à nouveau.

Vous pouvez activer/désactiver des points d'arrêt individuels dans leurs menus contextuels respectifs.

 

Commandes de la barre d'outils dans les volets

Les volets de la fenêtre XPath/XQuery dans le mode Débogage (voir capture d'écran ci-dessus) contient des touches qui fournissent des fonctions de navigation, de recherche et de copie. Ces touches, de gauche à droite, sont décrites dans la table ci-dessous. Les commandes correspondantes sont aussi disponibles dans le menu contextuel des items de la liste de résultat.

 

 

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

Chercher

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

Chercher suivant

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

Supprimer

Supprime la liste de résultats

Réduire les résultats multi-ligne en une seule ligne

Si la colonne de valeur d'un item de résultat contient un texte multi-ligne (du texte qui contient un/des caractère/s de saut de ligne), vous pouvez basculer entre un affichage multi-ligne et ligne unique

Afficher le résultat complet

Affiche le contenu entier des nœuds en tant que la valeur du nœud

Afficher l'en-tête dans la sortie

Affiche l'emplacement du/des fichier/s XML et l'expression XPath

 

 

© 2016-2022 Altova GmbH