Altova XMLSpy 2024 Professional Edition 

Con el modo Depurador de la ventana XPath/XQuery (imagen siguiente) puede depurar expresiones XPath/XQuery con respecto al archivo activo.

 

En el modo Depurador se añaden otros dos paneles al panel Resultados (imagen siguiente).

 

El panel Variables y expresiones de inspección; tanto las expresiones de inspección como las variables se muestran en el mismo panel.

El panel Pila de llamadas y puntos de depuración, que se divide en dos pestañas.

 

xpxqwindowdebug01_zoom80

 

Los paneles Expresión y Resultados se pueden colocar uno junto al otro en horizontal o en vertical. Para alternar entre estos diseños haga clic en el botón Cambiar al diseño horizontal/vertical (en la parte superior derecha de la barra de herramientas de la ventana).

 

Con el modo Depurador puede:

 

acceder al proceso de evaluación XPath paso por paso para ver cómo se va evaluando la expresión XPath. Puede usar el botón Paso a paso por instrucciones (F11) para ello. En cada paso de la evaluación se resalta en amarillo la parte de la expresión que se está evaluando (imagen anterior) y el resultado de la evaluación de ese paso aparece en el panel Resultados. Por ejemplo, en la imagen anterior se han seleccionado todos los elementos section descendientes del elemento book.

El panel Expresiones de inspección y variables siempre muestra el nodo de contexto del paso de la expresión que se está evaluando. Por tanto, en la imagen anterior, por ejemplo, el paso de la expresión que se está evaluando es //section. Su nodo de contexto es book. Es decir, el nodo book (y su contenido) aparecen como el elemento de contexto.

definir puntos de interrupción donde quiera que se detenga la evaluación para poder comprobar los resultados en esos puntos. Puede recorrer toda la evaluación deteniéndose solamente en los puntos de interrupción. Use el botón de la barra de herramientas Iniciar el depurador (F5) para ello. Esta opción es más rápida que la de detenerse en todos los pasos con Paso a paso por instrucciones (F11).

definir puntos de seguimiento que puede consultar después en un informe de los resultados de los pasos marcados como puntos de seguimiento. Con esta opción la evaluación no se detiene (excepto en los puntos de seguimiento) pero los resultados de los puntos de seguimiento aparecen en una lista en el panel Resultados.

Las expresiones de inspección se pueden usar para comprobar información (como datos de documentos o aspectos de la evaluación) conforme avanza la evaluación. Es muy útil poder ver el elemento de contexto en la misma ventana. Esto permite estimar cómo se relacionan los resultados de la expresión de inspección con el elemento de contexto. Puede introducir varias expresiones de inspección, lo que es útil para comparar distintos resultados de expresiones distintas dentro del mismo elemento de contexto.

Las variables dentro del alcance y sus valores aparecen en el panel Expresiones de inspección y variables. Puede activar y desactivar elementos y variables globales por separado. Esto puede ser útil para ver los valores de las variables dentro de un elemento de contexto junto con el resultado de las expresiones de inspección.

mostrar las llamadas realizadas por el procesador a un paso de la evaluación en la pestaña Pila de llamadas del panel Pila de llamadas y puntos de depuración.

si ha definido puntos de interrupción y de seguimiento, entonces estos aparecen en la pestaña Puntos de depuración del panel Pila de llamadas y puntos de depuración.

 

Para más información sobre estas características consulte sus descripciones más abajo.

 

Configurar el modo Depurador

Para pasar al modo Depurador haga clic en Iniciar el depurador en el menú desplegable del comando Iniciar evaluación/depuración (F5), que está en la parte superior izquierda de la barra de herramientas (imagen siguiente). Cuando se activa este modo aparecen os paneles Variables y expresiones de inspección y Pila de llamadas y puntos de depuración. Para iniciar el depurador de la expresión actual haga clic en Iniciar el depurador o pulse F5.

XPXQWindowSelectEvalMode

Tenga en cuenta que el modo Depurador sólo funciona en el archivo activo y no se puede usar en varios archivos a la vez. Cuando se activa este modo, el valor de la opción Dónde cambia automáticamente a Archivo actual.

 

 

Iniciar el depurador

Cambiar al diseño vertical/horizontal Alternar entre el diseño horizontal y el vertical

 

1.Convertir en activo el archivo XML/JSON en el que quiere ejecutar la expresión.

2.Copiar la XPath de la selección actual

3.Introducir la expresión XPath/XQuery en el panel Expresión.

4.Establecer los puntos de interrupción y de seguimiento que quiera. Un punto de interrupción es un punto en el que se detiene la evaluación. Un punto de seguimiento es un punto en el que la evaluación queda grabada, lo que permite rastrear los resultados de la evaluación.

5.Si hace clic en Iniciar el depurador, la evaluación se ejecutará en un solo paso hasta el final, a no ser que haya marcado algún punto de interrupción en la expresión. Haga clic varias veces en Iniciar el depurador para avanzar entre los puntos de interrupción hasta el final de la evaluación.

6.Use la función Paso a paso por instrucciones/Paso a paso para salir/Paso a paso por procedimientos para avanzar por la evaluación paso a paso. Ejecutar el depurador A grandes rasgos, estos suelen ser los pasos que se siguen para depurar una expresión XPath/XQuery:

 

 

Paso a paso por instrucciones, para salir y por procedimientos

Con Paso a paso por instrucciones puede avanzar paso a paso por la evaluación. Cada vez que hace clic en este comando pasa al siguiente paso de la evaluación; el paso actual aparece resaltado en la expresión (imagen siguiente). El comando Paso a paso para salir va al paso de un nivel superior al del paso actual, mientras que el comando Paso a paso por procedimientos se salta los pasos de niveles inferiores y va directamente al siguiente paso del mismo nivel que el actual. Para probar estos comandos puede copiar la expresión XQuery 3.1 de más abajo en el panel Expresión y hacer clic en los tres botones de este comando para ver cómo funcionan.

 

 

 

La imagen siguiente muestra la evaluación cuando se ha pausado el procesamiento al alcanzar el paso de suma $a + $b al pasar por primera vez por el bucle, es decir, cuando $i=1. En este paso de suma el resultado muestra 3 (como consecuencia de 1+2).

XPXQWindowDebug02

 

Puntos de interrupción

Los puntos de interrupción son puntos en los que quiere que el Depurador se detenga después de haberlo iniciado con el comando Iniciar el depurador. Son útiles si tiene que analizar una parte concreta de la expresión. Cuando el depurador se detiene en el punto de interrupción, puede comprobar el resultado y podría usar la función Paso a paso por instrucciones para mostrar los resultados de los pasos siguientes de la evaluación. Para definir un punto de interrupción coloque el cursor en la expresión, en el punto en el que quiere introducir el punto de interrupción, y haga clic en el botón de la barra de herramientas Insertar o quitar punto de interrupción (F9). El punto de interrupción se marcará con una línea roja discontinua. Para eliminar el punto de interrupción basta con seleccionarlo y volver a hacer clic en el comando Insertar o quitar punto de interrupción (F9).

 

Véase también Puntos de depuración, más abajo.

 

Puntos de seguimiento

Los puntos de seguimiento son puntos en los que se graban los resultados. Estos resultados aparecen en la estructura Seguimientos de la pestaña Resultados (imagen siguiente). Esto permite ver todos los resultados de la evaluación en partes concretas de la expresión. Por ejemplo, en la imagen siguiente los puntos de seguimiento se pusieron en $a, $b, y local:plus($i, $i+1); los resultados que corresponden a estos puntos de seguimiento en la primera iteración del bucle aparecen en la estructura Seguimientos: $a=1, $b=2 y local:plus($i, $i+1)=3.

 

Para definir un punto de seguimiento coloque el cursor en el punto que quiera y haga clic en el botón de la barra de herramientas Insertar o quitar punto de seguimiento (Mayús+F9). El punto de seguimiento se indica con una línea discontinua azul superpuesta (imagen siguiente). Para eliminar el punto de interrupción basta con seleccionarlo y volver a hacer clic en el comando Insertar o quitar punto de interrupción (F9).

XPXQWindowDebug03Tracepoints
Nota:Si en algún punto de la expresión hay un punto de interrupción y un punto se seguimiento, entonces la línea discontinua alterna los colores rojo y azul.

 

Véase también Puntos de depuración, más abajo.

 

Variables, expresiones de inspección y pila de llamadas

Las variables y las expresiones de inspección se muestran en el panel Variables y expresiones de inspección (panel inferior en el centro en la imagen siguiente).

Haga clic para expandir/contraer

Expresiones de inspección

Las expresiones de inspección son expresiones que puede introducir antes de que comience la evaluación o en un momento en que esta se detenga. Este tipo de expresiones se pueden usar para:

 

probar ciertas condiciones. Por ejemplo, en la imagen anterior la expresión de inspección $i=1 to 5 se usa para probar si la variable $i tiene un valor dentro del rango dado. El resultado true indica que esta condición se ha cumplido en el contexto de procesamiento actual.

encontrar datos dentro de un contexto concreto. Por ejemplo, dentro del contexto de un elemento Company podríamos introducir la expresión de inspección @id para buscar el código de cliente de esa empresa en el documento XML de destino.

generar datos adicionales. Por ejemplo, en la imagen anterior, la expresión de inspección if ($i=1 to 5) then (concat("Iteration ", $i)) else "Out of Loop" puede generar una cadena de texto que indique en qué iteración del bucle se encuentra en ese momento la evaluación.

 

Para introducir una expresión de inspección haga clic en Agregar entrada de inspección en la barra de herramientas del panel (dentro del círculo rojo en la imagen anterior), introduzca la expresión y pulse la tecla Entrar para terminar. Para quitar una expresión de inspección, selecciónela y haga clic en Quitar la entrada de inspección seleccionada en la barra de herramientas. Si durante la depuración la expresión no se puede evaluar correctamente por alguna razón (por ejemplo, si una de sus variables no entra dentro del alcance), entonces la expresión de inspección aparece en rojo.

 

Variables

Las variables que se han declarado en la expresión y que están dentro del alcance del paso actual de la evaluación aparecen con sus valores correspondientes. Por ejemplo, en la imagen anterior el procesamiento ha alcanzado la llamada a la función local:plus. La variable $i está dentro del alcance de la función local:loop y acaba de incrementarse a 2, por lo que $i se muestra con su valor actual. Por tanto, $i aparece con su valor actual. Puede activar/desactivar la presentación de variables locales y globales; para ello haga clic en los correspondientes iconos de la barra de herramientas.

 

Comandos de la barra de herramientas en los paneles

Estas son las funciones a las que puede acceder con los iconos de la barra de herramientas del panel.

 

Icono

Acción

Siguiente, Anterior

Seleccionar el elemento siguiente o anterior respectivamente de la lista de resultados.

Copiar la línea de texto seleccionada en el portapapeles

Copiar la columna de valores del resultado seleccionado en el portapapeles. Para copiar todas las columnas debe activar el comando La copia incluye todas las columnas (ver más abajo).

Copiar todos los mensajes en el portapapeles

Copiar la columna de valores de todos los resultados en el portapapeles, incluidos los valores que estén vacíos. Cada elemento se copia en una línea distinta.

La copia incluye todas las columnas

Alternar entre copiar todas las columnas y solamente la columna de valores. El separador de las columnas es un espacio.

Buscar

Abrir el cuadro de diálogo "Buscar" para poder buscar cadenas, incluso caracteres especiales, en la lista de resultados.

Buscar anterior

Buscar la instancia anterior del término de búsqueda introducido en el cuadro de diálogo "Buscar".

Buscar siguiente

Buscar la instancia siguiente del término de búsqueda introducido en el cuadro de diálogo "Buscar".

Expandir con secundarios

Expandir el elemento seleccionado y todos sus descendientes.

Contraer con secundarios

Contraer el elemento seleccionado y todos sus descendientes.

Borrar

Borrar la lista de resultados.

 

Pila de llamadas

La pestaña Pila de llamadas del panel Pila de llamadas y puntos de depuración (panel inferior derecho en la imagen anterior) muestra las llamadas del procesador hasta ese punto de la depuración. La llamada actual del procesador está resaltada en amarillo. Tenga en cuenta que solo se muestran las llamadas que han llevado directamente al paso de evaluación actual. Por ejemplo, en la imagen anterior el paso de evaluación actual es una llamada a la función local:plus. Aunque esta es la segunda iteración de local:loop, las llamadas del procesador a la primera iteración no aparecen. Esto es debido a que esas llamadas están en un nivel paralelo a la llamada actual y no son las que llevaron a realizar la llamada.

 

Puntos de depuración

La pestaña Puntos de depuración del panel Pila de llamadas y puntos de depuración (panel inferior derecho en la imagen anterior muestra los puntos de interrupción (círculos rojos) y los puntos de seguimiento (puntos azules) que haya colocado en la expresión. Cada punto de depuración aparece en la lista con su número de línea y de carácter. Por ejemplo, FunctionCall@7:13 significa que hay un punto de depuración en la línea 7, carácter 13.

XPXQWindowDebugPoints

Estas son algunas de las características de esta vista:

 

En el caso de los puntos de interrupción, puede introducir una condición de interrupción; para ello haga doble clic en Insertar condición de interrupción, introduzca la expresión de la condición y pulse la tecla Entrar. Ese punto de interrupción se habilita sólo si la condición evalúa en true. Por ejemplo, en la imagen anterior, la condición de interrupción $i=3 habilita el punto de interrupción en esta llamada a la función sólo si el valor de $i es 3. La imagen muestra la evaluación pausada en este punto de interrupción.

Puede activar o desactivar todos los puntos de depuración haciendo clic en los botones correspondientes de la barra de herramientas: Habilitar todos los puntos de depuración y Deshabilitar todos los puntos de depuración. Cuando se deshabilita un punto de depuración, este se desactiva para todas las evaluaciones hasta que se vuelva a habilitar.

También puede habilitar/deshabilitar pausas en el procesamiento si se encuentra un error; para ello use el icono correspondiente de la barra de herramientas.

Puede habilitar/deshabilitar puntos de interrupción individuales en sus menús contextuales correspondientes haciendo clic en los iconos de círculo correspondientes. Si un círculo está gris quiere decir que el punto de depuración se ha deshabilitado.

 

Opciones de visualización

Si hace clic en el botón Ver opciones (icono de rueda dentada) que hay en la parte superior del cuadro de diálogo XPath/XQuery, aparece un cuadro de diálogo en el que puede configurar las opciones de visualización de los paneles Resultados y Expresiones de inspección y variables. Puede elegir visualizar en cada uno de los paneles:

 

los resultados como una estructura jerárquica expansible o como una cadena XML serializada (un nodo aparece como cadena de texto en el momento en que se escribe en un documento XML), y

atributos inline, lo que quiere decir que los atributos y sus valores se presentan en la misma línea que el elemento (además de aparecer en la estructura jerárquica del nodo).

 

© 2018-2024 Altova GmbH