Panel de evaluación de métodos

4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 6.5 (Modificado)


El panel de evaluación de los métodos muestra el código fuente del método que está siendo depurado.

Si el método es demasiado largo para el área de texto, puede desplazarse para ver otras partes del método.

Al mover el puntero del ratón sobre cualquier expresión que pueda ser evaluada (campo, variable, puntero, Array,...) hará que aparezca un Mensaje mostrando el valor actual del objeto o expresión y su tipo declarado.

Este es un ejemplo del panel de evaluación de métodos:

Aparece un mensaje porque el puntero del ratón se ubica sobre [Empleados1], de acuerdo al mensaje, [Empleados1] contiene el valor: 10 registros seleccionados.

Igualmente usted puede seleccionar una porción de texto en el área de visualización del código en ejecución. En este caso, cuando el cursor se ubica sobre el texto seleccionado, un mensaje muestra el valor del objeto seleccionado:

Cuando hace clic en un nombre de variable o campo, se selecciona automáticamente.

Consejo: Es posible copiar toda expresión seleccionada (que pueda ser evaluada) del panel de evaluación de métodos al panel de evaluación. Puede hacerlo de estas maneras:

simplemente arrastrando y soltando (haga clic en el texto seleccionado, arrástrelo y suéltelo en el área de evaluación).

haciendo clic en el texto seleccionado mientras mantiene presionada la tecla Ctrl (Windows) o comando (Mac OS).

utilizando la combinación de teclas Ctrl+D (Windows) o comando+D (Mac OS).

Contador del programa


Una flecha amarilla al margen izquierdo del panel de evaluación de métodos (ver la imagen anterior) indica cual es la próxima línea a ejecutar. Esta flecha se llama contador del programa. El contador del programa siempre indica la línea que está a punto de ser ejecutada.

Por propósitos de depuración, puede cambiar el contador del programa para el método que se encuentra en la parte superior del canal de llamada (el método que se está ejecutando). Para hacer esto, simplemente haga clic y arrastre la flecha amarilla verticalmente, hacia la línea que quiera.

Advertencia: ¡Utilice esta característica con cuidado!

Mover el contador del programa hacia adelante NO significa que el depurador ejecute rápidamente las líneas por las que está pasando. De la misma forma, mover el contador del programa hacia atrás NO significa que el depurador reverse el efecto de las líneas que ya han sido ejecutadas.

Al mover el contador del programa, usted indica al depurador simplemente que "continúe la depuración o ejecución desde este punto." Todos los parámetros, campos, variables, etc. actuales no se ven afectados por el desplazamiento.

Este es un ejemplo de desplazamiento del contador del programa. Supongamos que está depurando el siguiente código:

      ` ...
   If (Esta condición)
      HACER ALGO
   Else
      HACER ALGO MÁS
   End if
      ` ...

El contador del programa está ubicado en la línea If (Esta condición). Usted avanza un paso y ve que el contador del programa se mueve hacia la línea HACER ALGO MÁS. Usted quería ejecutar la otra alternativa. En este caso, y en la medida en que la expresión Esta condición no efectúa operaciones que afecten las etapas siguientes de su prueba, mueva el contador del programa a la línea HACER ALGO. Ahora puede continuar depurando la parte del código que le interesa.

Definir los puntos de interrupción en el depurador


En el proceso de depuración, usted podría necesitar saltarse algunas partes del código. El depurador le ofrece varios métodos para ejecutar código hasta cierto punto:

Mientras ejecuta paso a paso, puede hacer clic en el botón Ejecutar paso a paso en lugar del botón Ejecutar y entrar. Esto es útil cuando usted no quiere entrar en posibles subrutinas o funciones llamadas en la línea del contador del programa.

Si por error entró a una subrutina, puede ejecutarla e ir directamente al método que la llamó haciendo clic en el botón Ejecutar y salir.

Si en algún punto tiene una llamada al comando TRACE, puede hacer clic en el botón Reanudar, el cual reasume la ejecución hasta la llamada al comando TRACE.

Por ejemplo, imagine que está ejecutando el siguiente código. El contador del programa está ubicado en la línea ALL RECORDS([EstaTabla]):

      ` ...
   ALL RECORDS([EstaTabla])
   $vrResult:=0
   For($vlRegistro;1;Records in selection([EstaTabla]))
      $vrResult:=Esta Funcion([EstaTabla]))
      NEXT RECORD([EstaTabla])
   End for
   If ($vrResult>=$vrLimitValor)
      ` ...

Su meta es evaluar el valor de $vrResult después de que se haya completado el bucle For. Como toma bastante tiempo alcanzar este punto en su código, usted no quiere abortar la ejecución actual, luego edite el método con el fin de insertar un llamada a TRACE antes de la línea If ($vrResult....

Una solución es ir paso a paso a través del bucle, sin embargo, si la tabla [EstaTabla] contiene muchos registros, usted va a gastar todo un día en esta operación. En este tipo de situación, el depurador le ofrece puntos de interrupción. Puede insertar puntos de interrupción haciendo clic en el margen izquierdo del panel de evaluación de métodos.

Por ejemplo:

Usted hace clic en el margen izquierdo del panel de evaluación de métodos a nivel de la línea If ($vrResult...:

Esto inserta un punto de interrupción para la línea. El punto de interrupción se indica por un punto rojo. Luego haga clic en el botón Reanudar.

Esto retoma la ejecución normal hasta la línea marcada con el punto de interrupción. Esa línea no se ejecuta—usted vuelve al modo depuración. En este ejemplo, todo el bucle ha sido ejecutado normalmente. Luego cuando se alcanza el punto de interrupción, usted sólo necesita mover el botón del ratón sobre $vrResult para evaluar su valor en el punto de salida del bucle.

Colocar un punto de interrupción más allá del contador del programa y hacer clic en el botón Reanudar le permite evitar depurar partes del método.

Nota: También puede definir puntos de interrupción directamente en el editor de métodos de 4D. Consulte la sección Puntos de interrupción.

Un punto de interrupción rojo es un punto de interrupción persistente. Una vez haya lo haya creado, permanece, incluso si sale de la base y al entrar nuevamente más tarde, el punto de interrupción estará ahí.

Hay dos formas de eliminar un punto de interrupción persistente:

Si usted terminó de utilizarlo, simplemente haga clic en el punto rojo—el punto de interrupción desaparece.

Si no ha terminado de utilizarlo totalmente, podría querer conservarlo. Puede desactivarlo temporalmente editándolo. Esto se explica en la sección Puntos de interrupción.

Ver también

Depurador, Panel de evaluación, Panel de expresión, Panel del canal de llamada, Puntos de interrupción.


4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente