Altova MapForce 2025 Professional Edition

Agregar y quitar puntos de interrupción

Inicio Anterior Inicio Siguiente

Los puntos de interrupción son acontecimientos señalados en los que la asignación se debe interrumpir durante la ejecución en modo depurador. Los puntos de interrupción creados por el usuario se almacenan de forma global para todas la asignaciones y pueden consultarse en la ventana Puntos de interrupción. Los puntos de interrupción definidos son válidos hasta que el usuario los elimina o hasta que se cierra MapForce

 

Nota:no se pueden agregar puntos de interrupción en estas entidades: constantes, funciones core | position, elementos descendientes de conexiones de copia total y parámetros de funciones definidas por el usuario inline.

 

Los puntos de interrupción pueden ser simples o condicionales. Los simples detienen la ejecución de la asignación sin condiciones. Los condicionales detienen la ejecución de la asignación cuando se cumple una condición asignada previamente al punto de interrupción. Las condiciones pueden ser funciones de la biblioteca integrada de MapForce a las que se aportan valores personalizados. En otras palabras, si la condición devuelve el valor true, el punto de interrupción detendrá la ejecución de la asignación.

Hay dos maneras de crear puntos de interrupción simples:

Haciendo clic con el botón derecho en un conector de entrada o salida (los triángulos situados a la izquierda o derecha de un componente) y seleccionando Punto de interrupción del depurador en el menú contextual.

Haciendo clic en un conector de entrada o salida y pulsando F9.

Para crear un punto de interrupción condicional:

1.Haga clic con el botón derecho en un conector y seleccione Propiedades del punto de interrupción en el menú contextual.

dlg_debug_conditional_breakpoint

2.En el cuadro de diálogo que aparece marque las casillas Punto de interrupción y Condición.

3.Seleccione la función pertinente en el cuadro combinado Función e introduzca el valor de la función (si procede). Por ejemplo, en la imagen anterior se definió un punto de interrupción que detendrá la ejecución de la asignación si el valor que pasa por el punto es superior a 2.

Si el tipo de datos del conector donde se añade el punto de interrupción condicional no coincide con los tipos esperados por la función, MapForce intentará convertir el tipo de datos automáticamente. Si la conversión automática no es posible, la ejecución de la asignación fallará. Para evitarlo, asegúrese de usar tipos de datos compatibles. Por ejemplo, la función core.starts-with espera un valor de cadena, de modo que el conector del punto de interrupción debería tener el mismo tipo.

 

Quitar puntos de interrupción

Para quitar un punto de interrupción haga clic con el botón derecho en el conector que lo contiene y seleccione Punto de interrupción del depurador. Otra opción es hacer clic en el conector de entrada o salida donde está definido el punto de interrupción y pulsar F9.

 

También puede eliminar puntos de interrupción desde la ventana Puntos de interrupción.

 

Puntos de interrupción inalcanzables

En algunos casos MapForce emite este mensaje:

debug_cannot_reach_braeakpoint

Este mensaje indica que el depurador no puede alcanzar algunos puntos de interrupción. Esto puede deberse a dos motivos distintos:

 

Se definió un punto de interrupción en un conector que no participa en la asignación.

MapForce no puede alcanzar el punto de interrupción debido a optimizaciones de la ejecución (consulte la información sobre restricciones).

 

Haga clic en Continuar para proceder al siguiente punto de interrupción (o para llegar al final de la ejecución de depuración). Haga clic en Paso para iniciar la depuración por pasos.

 

Este tipo de mensajes se puede deshabilitar marcando la casilla No volver a mostrar este mensaje o siguiendo estas instrucciones:

 

1.Haga clic en el comando de menú Herramientas | Opciones.

2.Haga clic en Mensajes.

3.Desactive la casilla Informar sobre puntos de interrupción que no se puedan alcanzar.

 

© 2018-2024 Altova GmbH