Figura 1-37. Utilización de puntos de ruptura para depuración de código.
Una vez seleccionados los puntos de ruptura, se puede ejecutar el programa de forma normal y al llegar la ejecución a uno de ellos, ésta se detendrá automáticamente, igual que si se hubiera pulsado el botón Pause de la barra de herramientas (el cual pasa a tener fondo rojo y se transforma en Continue). Cuando se detiene la ejecución, se puede volver a reanudar con la opción Highlight Execution activada.
Desde la versión 8.6 se dispone de un manejador de breakpoints al que se puede acceder desde View > Breakpoint Manager. En este programa se podrán habilitar, deshabilitar y borrar los breakpoints colocados en el programa.
Si lo que se desea es obtener el valor de un dato cualquiera sin detener ni ralentizar la ejecución, se puede usar la herramienta Probe (Figura 1-38). Se puede activar sobre un control, indicador o cable usando la paleta de herramientas o el menú contextual del cable; cuando se coloque aparecerá una ventana flotante llamada Probe Watch Window en la que puede verse el valor del dato seleccionado en tiempo real de cada uno de los probe del programa. Incluso en determinados tipos de datos se puede disponer de una visualización en gráficos o tablas.
Otra utilidad de los probe es crear un Custom Probe con una condición. En ese caso, cuando se cumpla la condición, el VI se detendrá igual que si hubiera un breakpoint. En este caso aparecerá en Probe Watch Window una nueva pestaña en la que definir las condiciones en las cuales parará la ejecución del programa. Por ejemplo, una condición puede ser que el contenido de un indicador sea un determinado valor. Cuando se coloca un probe sobre un cluster de error, esta opción aparece como una nueva pestaña.
También se puede dotar a un probe de características avanzadas programándolas. A esta opción se puede acceder desde el menú contextual de los cables Custom Probe > New… Al crear un Custom Probe aparece un asistente que guía en su creación. Finalmente, se guarda el VI que implementa el Custom Probe. El Custom Probe permite crear un nuevo programa dentro del propio probe que, por ejemplo, puede guardar los valores en un fichero, parar el programa con una condición que no puede ser especificada mediante el método anterior o enviar una alarma por email. El VI creado como Custom Probe dispone de un indicador con el valor del cable y otro control booleano para indicar si se debe detener la ejecución.
Otro método más para detectar errores es revisar el valor de ciertos datos, como los clusters de error que tienen muchas funciones a la entrada y salida; para esto, hay VI especializados en la paleta Programming > Dialog & User Interface.
Los cluster de error son un dato especial. Se componen de tres parámetros:
• Un booleano que indica si hay error o no.
• Un número identificativo del error.
• Un string que contiene una descripción del error.
Figura 1-38. Creación de tres probes y ventana Watch.
Existe una herramienta que amplía la información sobre el error. Puede accederse directamente a ella desde el indicador del cluster presionando con el botón derecho sobre él y eligiendo Explain Error. También se puede ir a Help > Explain Error. En la sección 11.2 se ampliará la información sobre el control de errores en tiempo de ejecución.
Figura 1-39. Información del error detectado.
1.8. Otras herramientas
1.8.1. Snippet
Desde la versión 2009 se pueden hacer capturas de pantalla de tipo snippet. Para hacer una hay que seleccionar una porción de código e ir a Edit > Create VI Snippet from Selection.
Esta herramienta generará una imagen en formato PNG del código seleccionado, pero además es capaz de embeber el propio código en el fichero de la imagen, de tal forma que, al arrastrarse esa imagen al Diagrama de Bloques de un VI, lo que se copiará no será una imagen, sino el propio código.
Esta herramienta es especialmente útil para intercambiar código en foros a través de internet, pero también puede utilizarse para generar una colección particular de trozos de código que sean muy frecuentes.
1.8.2. Opciones
Se puede acceder a las opciones de configuración de LabVIEW a través de Tools > Options. Esta ventana permite modificar muchos parámetros del programa, como:
• Front Panel: varias opciones relacionadas con el Panel Frontal y los controles.
• Block Diagram: manejo automático de errores y otras ayudas al programador.
• Controls/Functions Palettes: formas de presentar las paletas de controles y funciones.
• Environment: opciones de configuración misceláneas.
• Search: habilitar y priorizar lugares donde realizar búsquedas.
• Paths: las rutas del directorio de instalación de LabVIEW, el directorio temporal, librerías, etc.
• Printing: opciones a la hora de imprimir.
• Source Control: selección del servidor de versiones y configuración.
• Menu Shortcuts: modifica y crea atajos de teclado para las opciones de los menús.
• Revision History: permite guardar información cada vez que se guarda un VI.
• Security: permite restringir el acceso a LabVIEW.
• Shared Variable Engine: ordenadores que ofrecen servicios para manejar variables compartidas.
• VI Server: configuración del acceso a VI Server.
• Web Server: configuración del servidor web que incorpora LabVIEW.
Figura 1-40. Ventana de opciones que presenta LabVIEW 2010.
Además de estas opciones, también pueden realizarse más cambios, algunos de ellos no documentados, en el fichero LabVIEW.ini del directorio de instalación de LabVIEW o en el fichero *.ini asociado a los ejecutables creados con LabVIEW (en Linux es el fichero .labviewrc).
1.8.3. Jerarquía
Cuando se usan unos VI dentro de otros, se va creando una jerarquía de VI. En View > VI Hierarchy se puede abrir una herramienta para ver la estructura jerárquica de un programa (ver el ejemplo de la Figura 1-41).
Además de ver la estructura de un proyecto de forma gráfica, también puede ser de utilidad en grandes proyectos para buscar