556033_es-ES
El depurador JSL: próximos pasos
Para esta receta, veremos qué hace que el depurador JSL tenga puntos de interrupción condicionales verdaderamente poderosos. Esta característica nos permite pausar un script cuando se cumple una condición específica, como cuando una variable alcanza un valor determinado. Con él, podemos apuntar a valores de entrada específicos, iteraciones de bucle, números de columnas, etc. Usaremos el mismo programa que usamos para la receta JSL Debugger – Getting Started. Se ha modificado ligeramente para ayudar a ilustrar los puntos de esta receta.
Ingredientes:
Tabla de datos – CVC9
Dificultad: Fácil
Pasos:
- Abra la tabla de datos CVC 9 y el script Crear lista CVC . Inicie el depurador. Establezca puntos de interrupción en las líneas 25, 40 y 46. Nos interesará ver que las cadenas de entrada se analizan correctamente. Para reiterar información de la receta anterior:
Se eliminan las celdas en blanco
Las celdas que comienzan con " [ v. " se ignoran.
Las comas separan palabras individuales.
Una barra diagonal ( / ) proporciona una lista de palabras para combinar una o más palabras después de la tilde ( ~ ). Por ejemplo, tener/llevar ~ barba/bigote/gafas se expande a seis palabras: tener barba, llevar barba, tener bigote, llevar bigote, tener gafas, llevar gafas . Puede haber más de dos listas en una celda
Puede haber barras y comas en una celda. La entrada: tronco, extremidad ~ superior/inferior , debe expandirse a: tronco, extremidad superior, extremidad inferior .
- Haga clic derecho en el punto de interrupción en la línea 25 y seleccione Editar punto de interrupción . En el cuadro de diálogo, seleccione la pestaña Condición . Marque la casilla de verificación Condición y agregue la condición Contiene(elemento”,”) . item es una variable que estaremos observando. Se debe seleccionar el botón de opción Es verdadero . Haga clic en Aceptar . Aparece un signo más en el punto del punto de interrupción que indica que es un punto de interrupción condicional.
- Agregue item , tildeGroup y buildCartesian a la lista de variables vigiladas.
- Haga clic en el botón Ejecutar en la parte superior izquierda del depurador. Cuando se le solicite, seleccione Sección para la columna Nivel y las tres columnas siguientes para las columnas de Datos . Haga clic en el botón Ejecutar en el cuadro de diálogo.
- El depurador debe detenerse en la línea 25. El elemento variable contiene la cadena " pelo, ojo, nariz ". El punto de interrupción condicional omitió todas las celdas donde no hay coma.
- Haga clic en Ejecutar dos veces más. La variable tildeGroup contiene {“pelo”} .
- Haga clic en Ejecutar una vez más. tildeGroup ahora contiene {“ojo”} . Parece que las cadenas que sólo contienen comas se están analizando correctamente.
- A continuación, debemos comprobar que las celdas que contienen tildes se estén analizando correctamente. Podemos hacer esto editando el punto de interrupción condicional actual. En la parte inferior derecha del depurador, seleccione la pestaña Puntos de interrupción . Seleccione la línea que contiene el punto de interrupción condicional y haga clic en el botón Editar punto de interrupción en la parte superior de la pestaña (segundo desde la izquierda). Haga clic en la celda de la columna Condición que contiene la condición del punto de interrupción. Edítelo para que sea Contiene(elemento,”~”) . Alternativamente, podríamos haber editado la línea directamente en la tabla de puntos de interrupción.
- Desmarque las casillas de verificación de los puntos de interrupción en las líneas 40 y 46. Esto nos permite desactivar los puntos de interrupción sin eliminarlos.
- Haga clic en el botón Ejecutar . El depurador se detendrá en el punto de interrupción de la línea 24 para la siguiente observación donde el elemento contiene una tilde. (Nota: si el depurador se detiene, pero el elemento no contiene una tilde, es posible que el depurador se haya detenido prematuramente antes de ejecutarse hasta su finalización. Haga clic en el botón Ejecutar sin puntos de interrupción y vuelva a intentarlo).
- Next, we will check items with both a tilde and comma. Modify the condition on breakpoint 24 to
Contains(item,"~") & Contains(item,",")
- Haga clic en Ejecutar . Ahora podemos recorrer elementos con ambos personajes.
Al recorrer una gran cantidad de elementos, puede resultar difícil determinar dónde o por qué surge un problema. Si bien el depurador se utiliza normalmente para recorrer un script, también se puede utilizar para ayudar a diagnosticar problemas más graves.
- Ejecute el programa sin el depurador, esta vez seleccionando Sección para la columna Nivel y todas las columnas restantes para las columnas de Datos .
- Después de hacer clic en Ejecutar , aparece un cuadro de diálogo de error. La información en el registro indica que hay un problema de subíndice, pero no brinda muchos detalles aparte de que involucra una columna y probablemente se debió a la variable targetRows .
- Reinicie el programa en el depurador y haga clic en el botón Ejecutar sin puntos de interrupción .
- Después de cerrar el cuadro de diálogo de advertencia, el control vuelve al depurador. Ahora podemos explorar varios valores de variables. En particular, podemos identificar fácilmente la columna del problema como 10.1. Acciones relacionadas con la Vivienda y que targetRows está vacío.
Consejos para el éxito:
- Utilice puntos de interrupción condicionales para determinar cómo y cuándo se utiliza un punto de interrupción para detenerse.
- El depurador se puede utilizar para determinar valores de variables en el momento del fallo cuando los errores no se encuentran fácilmente mediante el registro.
AperitivosAutomatización y secuencias de comandos
Comments
There are no comments yet