Suspender la ejecución del programa
Los puntos de interrupción permiten suspender la ejecución del programa. Una vez suspendida, puede comprobar los valores de las variables y propiedades, ver la configuración del entorno y examinar secciones de código línea a línea sin tener que recorrer todo el código.
Sugerencia También puede suspender la ejecución de un programa que esté en ejecución si presiona la tecla ESC en la ventana Seguimiento.
Suspender la ejecución en una línea de código
Puede establecer puntos de interrupción en el código para suspender la ejecución del programa de diferentes maneras. Si conoce el punto exacto en el que desea suspender la ejecución del programa, puede establecer un punto de interrupción directamente en esa línea de código.
Para establecer un punto de interrupción en una línea de código determinada
En la ventana Seguimiento, busque la línea de código en la que desee establecer el punto de interrupción y realice una de las operaciones siguientes:
Sitúe el cursor en la línea de código.
Presione F9 o haga clic en el botón Alternar punto de interrupción de la barra de herramientas Depurador.
–O bien–
- Haga doble clic en el área gris situada a la izquierda de la línea de código.
Aparecerá un punto sólido en el área gris de la izquierda de la línea de código para indicar que se ha establecido un punto de interrupción en esa línea.
Sugerencia Si va a depurar objetos, puede localizar líneas de código determinadas en la ventana Seguimiento; para ello, elija el objeto en la lista Objeto y el método o evento en la lista Procedimiento.
También puede establecer puntos de interrupción si especifica ubicaciones y archivos en el cuadro de diálogo Puntos de interrupción.
Ejemplos de ubicaciones y archivos de puntos de interrupción
Ubicación | Archivo | Dónde se suspende la ejecución |
---|---|---|
|
C:\Myapp\Main.prg | La primera línea ejecutable de un procedimiento denominado ErrHandler en Main.prg. |
|
C:\Myapp\Main.prg | La décima línea del programa denominado Main . |
|
C:\Myapp\Form.scx | La primera línea ejecutable de cualquier procedimiento, función, método o evento denominado Click en Form.scx. |
|
C:\Myapp\Form.scx | La primera línea ejecutable asociada al evento Click de cmdNext en Form.scx. |
|
La primera línea ejecutable del evento Click de cualquier control cuya ParentClass sea cmdNext en cualquier archivo. |
Suspender la ejecución cuando los valores cambian
Si desea saber cuándo cambia el valor de una variable o una propiedad, o cuándo cambia una condición del tiempo de ejecución, puede establecer un punto de interrupción en una expresión.
Para suspender la ejecución del programa cuando ha cambiado el valor de una expresión
- En el menú Herramientas de la ventana Depurador, elija Puntos de interrupción para abrir el cuadro de diálogo Puntos de interrupción.
- En la lista Tipo, elija Punto de interrupción cuando la expresión ha cambiado.
- Escriba la expresión en el cuadro Expresión.
Ejemplos de expresiones de puntos de interrupción
Expresión | Uso |
---|---|
|
Suspende la ejecución cuando el puntero de registro se mueve en la tabla. |
|
Suspende la ejecución en la primera línea de cualquier programa, procedimiento, método o evento nuevo. |
|
Suspende la ejecución siempre que se cambie el valor de esta propiedad de forma interactiva o por medio de programación. |
Suspender de forma condicional la ejecución
A menudo deseará suspender la ejecución de un programa no en una línea determinada, sino cuando una determinada condición sea verdadera.
Para suspender la ejecución del programa cuando una expresión se evalúe como verdadera
- En el menú Herramientas de la ventana Depurador, elija Puntos de interrupción para abrir el cuadro de diálogo Puntos de interrupción.
- En la lista Tipo, elija Punto de interrupción cuando la expresión es verdadera.
- Escriba la expresión en el cuadro Expresión.
- Elija Agregar para agregar el punto de interrupción a la lista Puntos de interrupción.
Ejemplos de expresiones de puntos de interrupción
Expresión | Uso |
---|---|
|
Suspende la ejecución cuando el puntero de registro ha sobrepasado el último registro de una tabla. |
|
Suspende la ejecución de la primera línea de código asociada a un evento Click o DblClick. |
|
Si el valor devuelto de un cuadro de mensajes se almacena en nReturnValue , se suspende la ejecución cuando un usuario elige Sí en el cuadro de mensajes. |
Suspender de forma condicional la ejecución en una línea de código
Puede especificar que la ejecución del programa se suspenda en una línea determinada sólo cuando una condición concreta sea verdadera.
Para suspender la ejecución del programa en una línea determinada cuando la expresión se evalúa como verdadera
En el menú Herramientas de la ventana Depurador, elija Puntos de interrupción para abrir el cuadro de diálogo Puntos de interrupción.
En la lista Tipo, elija Punto de interrupción cuando la expresión es verdadera.
Escriba la ubicación en el cuadro Ubicación.
Escriba la expresión en el cuadro Expresión.
Elija Agregar para agregar el punto de interrupción a la lista Puntos de interrupción.
Elija Aceptar.
Sugerencia Suele ser más fácil buscar la línea de código en la ventana Seguimiento, establecer un punto de interrupción y modificarlo en el cuadro de diálogo Punto de interrupción. Para ello, cambie el Tipo de Punto de interrupción en la ubicación a Punto de interrupción cuando la expresión es verdadera y, a continuación, agregue la expresión.
Quitar puntos de interrupción
Puede deshabilitar los puntos de interrupción sin quitarlos en el cuadro de diálogo Puntos de interrupción. Puede eliminar puntos de interrupción del tipo “punto de interrupción en la ubicación” en la ventana Seguimiento.
Para quitar un punto de interrupción de una línea de código
En la ventana Seguimiento, busque el punto de interrupción y realice una de las operaciones siguientes:
Sitúe el cursor en la línea de código y elija Alternar punto de interrupción en la barra de herramientas Depurador.
–O bien–
Haga doble clic en el área gris situada a la izquierda de la línea de código.
Vea también
Aislar los problemas | Mostrar los valores almacenados | Probar y depurar aplicaciones | Mostrar resultados | Seguimiento | Depurador