From Thursday, May 23rd (05:00 PM CDT) through Friday, April 24th (1:30 AM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



La Ejecución de Mi Secuencia Parece Trabarse Cuando un Error Ocurre Mientras se Ejecutan Hilos Múltiples de Ejecución en TestStand



Software Primario:
Versión de Software Primario: N/A
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:
He notado que si ocurre un error en cualquiera de los pasos de mi secuencia y otros módulos de código (LabVIEW VIs, DLLs) están siendo ejecutados en otros hilos, la ejecución simplemente se detiene y ninguna de las herramientas de depuración (Step Into, Step Out, Step Over, Resume) es habilitada. Cuando manualmente detengo el modulo de código que es esta ejecutando en cual quier otro hilo de ejecución, la ventana de dialogo de Error en TestStand aparece y puedo continuar con la al momento de ejecución de mi secuencia.
¿Por qué, la ventana de dialogo de Error en TestStand no aparece inmediatamente cuando se detecta un error? ¿Como puedo arreglar este comportamiento?

Solución:
Una de las opciones predeterminadas de TestStand es mostrar la ventada de dialogo de error cuando es detectado algún error. En el caso que se describió anteriormente, el paso que genera el error trata de detener la ejecución para que se pueda mostrar la ventana de error. La ejecución no se puede detener mientras existan hilos que no se encuentren en una parte donde puedan ser detenidos, como es el caso cuando se esta ejecutando un modulo de código. En este caso, el paso que genera el error lanza el error pero TestStand debe esperar a que los otros hilos terminen la ejecución de sus módulos de código antes de poder detener la ejecución y poder desplegar la ventana de error.

Para hacer que TestStand muestre la ventana de error inmediatamente después que cualquier error sea detectado, sin tener que esperar que otros hilos terminen su ejecución, usted puede usar la propiedad Thread.ExternallySuspended con sus módulos de código.

Refiérase a los documentos mencionados en la parte inferior de este documento para una mejor explicación acerca de la propiedad Thread.ExternallySuspended y como puede ser usada. Usted también puede encontrar mayor información sobre esta propiedad en la ayuda de TestStand.

Ligas Relacionadas:
KnowledgeBase 2VHEEOO6: Problemas Usando las Herramientas de Depuración Cuando se Ejecutan Hilos Múltiples en TestSTand (Documento en Inglés>
Ejemplo Developer Zone: Usando la propiedad Thread.ExternallySuspended dentro de Módulos de Código para Habilitar Depuración con Hilos múltiples de Ejecución (Documento en Inglés)

Archivos Adjuntos:





Día del Reporte: 05/13/2004
Última Actualización: 01/16/2008
Identificación del Documento: 2VIB24O6