Eclipse integration
In the console view in Eclipse, there's an option to view the Roku console. When this is selected, it is necessary to enter the IP address of the Roku device. Then the console connects and displays all the information being logged. I have had issues with this "disconnecting" and then it seems to be hard to convince it to reconnect.
The Roku issues a series of debug messages as it loads, compiles and starts applications. These all appear in the console. All the messages from the translation and compilation process, including any errors and warnings, are also copied onto the console.
Print Statements
For logging purposes, it is possible to just use BrightScript print statements. These are automatically channeled into the console stream and will show up in Eclipse.
Debugger
The Roku box also offers an embedded debugger which operates on port 8085. This is automatically chanelled through the Console View and there is a debugging console provided.
I haven't yet found any way to set an explicit breakpoint in the code1, but from the console it is possible to type CTRL-C at any point to interrupt the flow. The debugger then offers a series of commands that can be used to investigate what's going on.
I haven't yet found any way to set an explicit breakpoint in the code1, but from the console it is possible to type CTRL-C at any point to interrupt the flow. The debugger then offers a series of commands that can be used to investigate what's going on.
Check Access Logs
With regard to our specific problem, it's possible to consider the server end and see if the file has been accessed from the server.
Wireshark
Because this is clearly a network problem, we need to try and debug the communications traffic. The Roku guide actually has a whole page on the topic. This discusses SSL decryption in some detail; but my MP4 is not on a secure site so it should be possible to debug this without having to decrypt the SSL packets.
Summary
There are a range of tools for debugging Roku applications. Let's see if we can apply these to our problems.1 It turns out you don't add breakpoints as such, but insert STOP into your code, much like using debugger in JavaScript
No comments:
Post a Comment