Multiple tools are available for debugging Cloud Apps. These debugging tools provide access to the runtime environment, crash logs, stack traces, and more.
The BrightScript Console shows the output of your Client during runtime.
If the Client crashes, the BrightScript Console displays the line number of the error, as well as the contents of variables at the time of the crash.
Compilation errors (such as Syntax Error
) are also displayed here.
To catch possible startup errors, keep the BrightScript Console open whenever you side-load the client.
To access the BrightScript Console, open a terminal window and run:
telnet <Roku device IP address> 8085
The BrightScript Console shows:
To display custom logs in the BrightScript Console, you must copy and modify a BrightScript client file.
You can find the BrightScript client files in the ~/youiengine/<version>/src/cloud
folder.
Make sure to preserve the original folder structure.
If you copy a file from the ~/youiengine/<version>/src/cloud/source
folder, paste it in <project>/client/source
.
To add custom logs:
Make a copy of main_implementation.brs
for editing.
Open a terminal window and run the following commands from your <project>/client
folder:
mkdir source
cp ~/youiengine/<version>/src/cloud/source/main_implementation.brs ./source
Add a custom log to <project>/client/source/main_implementation.brs
.
There are multiple ways to print logs from BrightScript. You can use any of the following statements:
logMessage("Log message")
print "Log message"
? "Log message"
It’s good practice to set identifiers before the actual log contents (for example, POR123: Log message
).
A unique string makes searching the logs easier.
Side-load the client to your Roku device.
youi-tv roku-client -l -s <Roku device IP address> -u rokudev:<password>
Don’t forget to run the JavaScript Metro bundler and the server before side-loading the client.
The BrightScript Debug Shell is an interactive debugging tool. It provides features and utilities such as:
To access the BrightScript Debug Shell, open a terminal window and run:
telnet <Roku device IP address> 8080
See a full list of commands in the Roku Developer Documentation.
<App_Name> application Error
, the client is likely unable to connect with the server.host
is the Server IP address.host
in the client manifest file.If elements are missing from your scene export, try quitting the Client (with the home button) and then relaunching it. On the server side, this results in a re-export of the scene to the client. If the problem is fixed, the list likely wasn’t ready and visible when the scene was exported.
source/focus.brs
and uncomment the debug output in focusMapCommand()
.