Depurador BrightScript
Esta página sirve como guía para acceder al Depurador de BrightScript de los reproductores BrightSign. Se puede acceder al BrightScript Debugger mediante una conexión serial física o a través de la red mediante SSH o Telnet. Para la conexión serial física, se recomiendan ciertos cables como se describe en esta página.
¿Qué es el BrightScript Debugger?
El BrightScript Debugger a veces se denomina BrightScript Debug Console. Sin embargo, en un esfuerzo por mantener la consistencia y evitar posibles confusiones, se utiliza predominantemente el término BrightScript Debugger o, más simplemente, Debugger.
El BrightScript Debugger es una CLI que permite la interacción con el Intérprete BrightScript. Está representado por el prompt Depurador de BrightScript> y es una herramienta poderosa para solucionar problemas y depurar inconvenientes con scripts BrightScript o interactuar con objetos BrightScript. Es similar a la consola de JavaScript en los navegadores web, así como a otros depuradores populares (por ejemplo, GDB). Los desarrolladores pueden establecer instrucciones stop (un breakpoint), recorrer paso a paso un script BrightScript y obtener acceso al ámbito actual o a las variables inicializadas.
Si el BrightScript Debugger no ha sido habilitado, los errores de tiempo de ejecución a menudo harán que el reproductor se reinicie. Cuando el BrightScript Debugger está habilitado, los errores de tiempo de ejecución harán que el BrightSignOS se detenga en la línea del error de tiempo de ejecución, permitiendo recorrer el script paso a paso.
Dado que habilitar el BrightScript Debugger provocará que el reproductor se quede bloqueado cuando se encuentren errores de tiempo de ejecución, el BrightScript Debugger solo debe usarse en entornos de desarrollo o situaciones de depuración; debe deshabilitarse para implementaciones de producción.
Consola BrightSign
La Consola BrightSign (o más simplemente, Console) permite acceder al BrightSign Shell, BrightScript Debugger y registros a través del puerto serial de 3.5 mm. Puede encontrar más información sobre la Consola BrightSign y cómo habilitarla en esta página.
Habilitación del Debugger
El Debugger se habilita escribiendo una clave de registro en el registro del reproductor. Esto puede hacerse de varias maneras, como se describe a continuación.
Nota: Si no hay un autorun.brs presente en el dispositivo de almacenamiento del reproductor, presionar el botón SVC no tendrá efecto. El propósito del Debugger es ayudar a depurar su script / aplicación, que necesariamente debe contener el autorun.brs. Por lo tanto, si no hay un autorun.brs presente en el dispositivo de almacenamiento, no hay nada que depurar.
Desde el BrightSign Shell
Escriba lo siguiente desde el Shell de BrightSignBrightSign Shell:
script debug onPestaña DWS Registry
Desde la pestaña DWS Registry en BrightSign Author, envíe el siguiente comando: escritura de registro brightscript depuración 1
Inclusión con Autorun
Las siguientes líneas pueden incluirse como parte de un archivo autorun.brs:
reg = CreateObject("roRegistrySection", "brightscript")
reg.write("debug","1")Acceso al Debugger
Cuando está habilitado, el Debugger está representado por el prompt Depurador de BrightScript> y es accesible mediante un cable serial, Telnet o SSH.
Navegue hasta el Debugger mediante uno de los métodos descritos a continuación.
Si no ha habilitado el Debugger, cualquier interrupción de la ejecución del Intérprete BrightScript no dará acceso al Debugger. En cambio, el reproductor se reiniciará para intentar una ejecución limpia.
Durante el tiempo de ejecución
Presione CTRL-C en su teclado mientras el reproductor está encendido.
Instrucción Stop en tiempo de ejecución
Si el Debugger ha sido habilitado, el reproductor ingresará al Debugger si ocurre un error de tiempo de ejecución o si se encuentra una instrucción STOP mientras un script se está ejecutando.
Acceso durante el arranque
- Apague el reproductor.
- Encienda el reproductor y espere de 5 a 15 segundos.
- Mantenga presionado el botón SVC del reproductor durante 15-30 segundos hasta que el prompt BrightSign> aparezca en la aplicación de terminal serial/Telnet/SSH. El prompt BrightSign> indica que usted está en el BrightSign Shell. Ahora puede soltar el botón SVC.
Si está utilizando Telnet o SSH, deberá reiniciar la instancia de Telnet o SSH.
Métodos adicionales
- Presione CTRL-C en su aplicación de terminal que está conectada al reproductor.
- Retire la tarjeta microSD y presione ya sea el botón SVC del reproductor o CTRL-C en su computadora.
- Si se ha habilitado la consola serie (ya sea temporal o persistentemente), Iniciando la aplicación BrightSign... aparecerá después de que el reproductor se reinicie (tenga en cuenta que esto puede tardar hasta 30 segundos). Mantenga presionado el botón SVC hasta que se muestre el indicador BrightSign>.
- Si tiene almacenamiento extraíble, como una tarjeta microSD, expúlselo. Reinicie el reproductor y presione el botón SVC. Si está accediendo al reproductor mediante Telnet, tendrá que reiniciar la conexión Telnet después de que el reproductor se reinicie usando el comando telnet {{your player IP address}} 23.
- Coloque un archivo autorun.brs que contenga únicamente la palabra “end” (sin las comillas) en el dispositivo de almacenamiento. El script se ejecutará y, cuando finalice según lo indicado, quedará en el indicador BrightSign>.
Esto interrumpirá la aplicación que se esté ejecutando en ese momento y redirigirá al indicador de BrightSign.
Comandos del depurador
Los siguientes comandos de Shell están disponibles actualmente en el depurador:
Comando | Descripción |
|---|---|
bt | Imprime un backtrace de los marcos de contexto de llamada de función. |
clases | Enumera todas las clases públicas. |
cont or c | Continúa la ejecución del script. |
recuentos | Enumera el conteo de instancias de componentes BrightScript. |
da | Muestra el desensamblado y el bytecode para esta función. |
abajo or d | Mueve una posición hacia abajo en la cadena de contexto de funciones. |
salir | Sale de la shell de depuración. |
gc | Ejecuta el recolector de basura y muestra estadísticas de recolección. |
hash | Imprime los histogramas internos de tablas hash. |
último | Muestra la última línea que se ejecutó. |
métodos <class> | Enumera los métodos proporcionados por la clase especificada. |
métodos <class>.<interface> | Enumera los métodos proporcionados por la interfaz o clase especificada. |
lista | Enumera el código fuente actual de la función actual. |
ld | Muestra datos de línea (registros de origen) |
siguiente | Mostrar la siguiente línea a ejecutar. |
bsc | Listar todas las instancias asignadas de BrightScript Component. |
estadísticas | Mostrar estadísticas. |
paso or s | Avanzar una instrucción del programa. |
t | Avanzar una instrucción y mostrar cada opcode ejecutado. |
arriba or u | Mover una función hacia arriba en la cadena de contexto. |
var | Mostrar las variables locales y sus tipos/valores. |
imprimir or p or ? | Imprimir el valor de una variable o expresión.* |
*Los mensajes de imprimir de BrightScript se enrutan a BrightSignOS, al cual se puede acceder mediante el puerto serie principal o Telnet/SSH.
Cambiar entre el Shell y el Debugger
Desde el prompt BrightSign>, escriba script para navegar al Debugger:
scriptDesde el prompt Depurador de BrightScript>, escriba salir para navegar al BrightSign Shell:
exitTelnet y SSH
Se puede acceder al Debugger con Telnet o SSH. Puede encontrar más información en esta página.
Depuración de código BrightScript
Esta sección cubrirá cómo depurar código BrightScript en un reproductor BrightSign, asumiendo que el Debugger ha sido habilitado y es accesible.
Consulte BrightScript para obtener información sobre la documentación de BrightScript de BrightSign. Nuestro intérprete se bifurcó del lenguaje BrightScript de Roku hace muchos años y desde entonces han divergido.
Cómo depurar BrightScript
Para comenzar a recorrer o depurar código BrightScript, agregue una instrucción detener a la línea de código desde la que desea comenzar la depuración.
Una instrucción detener es un breakpoint en el código BrightScript. Cuando el reproductor BrightSign encuentra una instrucción detener , se detendrá y entrará en el BrightScript Debugger cuando el debugger esté habilitado.
El BrightScript Debugger es similar a muchos otros debuggers, por ejemplo, gdb. Le permite recorrer el código, inspeccionar variables y evaluar expresiones.
Escriba ayuda en el Debugger para ver una lista de comandos disponibles. Escriba vars para ver las variables y sus valores.
Depuración de JavaScript o Node.js
Para habilitar Chrome Devtools y agregar el inspector remoto de BrightSign, consulte Depuración de páginas web.
Vaya a chrome://inspect agregando la dirección IP de su reproductor en la misma red que su computadora.
Solución de problemas
Si encuentra dificultades para conectar su aplicación de terminal al reproductor BrightSign, consulte los pasos de solución de problemas descritos en esta página.