Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/DEVELOPER/debugging/socket-based-debugger.md
Original file line number Diff line number Diff line change
Expand Up @@ -939,7 +939,7 @@ The BrightScript debugger supports the following debug commands:
| THREADS | Application threads info | Debugger is active. All threads are stopped. | none | A [ThreadsResponse](#threadsresponse) struct. |
| STACKTRACE | Get the stack trace of a specific thread. | Debugger is active. All threads are stopped. | uint32 thread_index | A [StackTraceResponse](#stacktraceresponse) struct. |
| VARIABLES | Listing of variables accessible from selected thread and stack frame. | Debugger is active, all thread | [variables arguments](#variables-arguments) | A [VariablesResponse](#variablesresponse) struct. |
| STEP | Execute one step on a specified thread. | Debugger is active. All threads are stopped.<br /><br />As of [Roku OS 14.6](doc:release-notes#roku-os-146), you can use the STEP command to step over and out of SceneGraph observer callbacks and functions called via [CallFunc](/docs/developer-program/core-concepts/handling-application-events.md#functional-fields). | [step arguments](#step-arguments) | [DebuggerResponse](#debugger-response-format) with no payload (OK or Error if successful).<br /><br />If the STEP command is valid, the debugging target responds immediately with an OK response. The specified thread will then detach from the debugger, execute briefly as specified by the **step_type** parameter, and then re-attach to the debugger.<br /><br />The re-attachment causes another [THREAD_ATTACHED](#threadattached) update message to be sent to the debugger client. |
| STEP | Execute one step on a specified thread. | Debugger is active. All threads are stopped.<br /><br />As of [Roku OS 14.6](doc:release-notes#roku-os-146), you can use the STEP command to step over and out of SceneGraph observer callbacks and functions called via [CallFunc](/docs/developer/core-concepts/handling-application-events.md#functional-fields). | [step arguments](#step-arguments) | [DebuggerResponse](#debugger-response-format) with no payload (OK or Error if successful).<br /><br />If the STEP command is valid, the debugging target responds immediately with an OK response. The specified thread will then detach from the debugger, execute briefly as specified by the **step_type** parameter, and then re-attach to the debugger.<br /><br />The re-attachment causes another [THREAD_ATTACHED](#threadattached) update message to be sent to the debugger client. |
| ADD_BREAKPOINTS | Add a dynamic breakpoint. | Debugger is active. Application is active (may be stopped or running). | An [AddBreakpointsRequestArgs](#addbreakpointsrequestargs) struct. | An [AddBreakpointsResponseData](#addbreakpointsresponsedata) struct.<br /><br />If a redundant breakpoint is attempted to be added, the ID of the previous breakpoint is returned and the debugging target is not affected. |
| LIST_BREAKPOINTS | Lists existing dynamic and conditional breakpoints and their status. | Debugger is active. All threads in script group are stopped. | none | A [ListBreakpointsResponseData](#listbreakpointsresponsedata) struct. |
| REMOVE_BREAKPOINTS | Removes dynamic breakpoints. | Debugger is active. All threads in script group are stopped. | A [RemoveBreakpointsRequestArgs](#removebreakpointsrequestargs) struct. | A [RemoveBreakpointsResponseData](#removebreakpointsrequestargs) struct. |
Expand Down Expand Up @@ -2158,13 +2158,13 @@ Virtual variables are only returned if both GET_VIRTUAL_KEYS and GET_CHILD_KEYS

## Sample remote debugger

You can [download the Roku Remote Debugger](https://github.com/rokudev/remote-debugger), which is a Python-based sample command-line remote debugger for testing and debugging Roku apps under development. The Roku Remote Debugger (**rokudebug.py**) provides the same functionality as the [BrightScript debug console](/docs/developer-program/debugging/debugging-channels.md#brightscript-console-port-8085-commands); however, it demonstrates how the BrightScript network debug protocol could be used to integrate a debug tool into an IDE.
You can [download the Roku Remote Debugger](https://github.com/rokudev/remote-debugger), which is a Python-based sample command-line remote debugger for testing and debugging Roku apps under development. The Roku Remote Debugger (**rokudebug.py**) provides the same functionality as the [BrightScript debug console](/docs/developer/debugging/index.md#brightscript-console-port-8085-commands); however, it demonstrates how the BrightScript network debug protocol could be used to integrate a debug tool into an IDE.

To run the Roku Remote Debugger, follow these steps:

1. Verify that you have Python 3.5.3 (or greater) installed on your machine.

2. [Create a ZIP file](/docs/developer-program/getting-started/hello-world.md#compressing-the-contents-of-the-hello-world-directory) containing the development app to be tested. You can also [download sample apps](https://github.com/rokudev/samples) to test with the debugger.
2. [Create a ZIP file](/docs/developer/getting-started/hello-world.md#compressing-the-contents-of-the-hello-world-directory) containing the development app to be tested. You can also [download sample apps](https://github.com/rokudev/samples) to test with the debugger.

3. Sideload an app by entering the following command in a terminal or command prompt:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ The Roku's Robot Framework Library includes the following keywords:
* **password**: The password for accessing the Development Application Installer on your Roku device.
</td>
<td>
Sideloads an app that has been packaged into a zip file.<br /><br />If the **Sideload** command fails, [sideload](/docs/developer-program/getting-started/developer-setup.md#sideloading-channels) the app to be tested and use the **Launch the app** command.
Sideloads an app that has been packaged into a zip file.<br /><br />If the **Sideload** command fails, [sideload](/docs/developer/getting-started/developer-setup.md#sideloading-channels) the app to be tested and use the **Launch the app** command.
</td>
<td>
`Sideload myChannel.zip rokudev your_device_password`
Expand Down Expand Up @@ -139,8 +139,8 @@ The Roku's Robot Framework Library includes the following keywords:
</td>
<td>
* **channel_code**: The ID of the app to be launched.
* **contentId**: The [contentId](/docs/developer-program/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentType** to execute deep linking tests.
* **mediaType**: The [mediaType](/docs/developer-program/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentId** to execute deep linking tests.
* **contentId**: The [contentId](/docs/developer/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentType** to execute deep linking tests.
* **mediaType**: The [mediaType](/docs/developer/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentId** to execute deep linking tests.
</td>
<td>
Launches the app corresponding to the specified channel ID.
Expand Down Expand Up @@ -180,8 +180,8 @@ The Roku's Robot Framework Library includes the following keywords:
</td>
<td>
* **channelId**: The ID of the app to be launched.
* **contentId**: The [contentId](/docs/developer-program/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentType** to execute deep linking tests.
* **mediaType**: The [mediaType](/docs/developer-program/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentId** to execute deep linking tests.
* **contentId**: The [contentId](/docs/developer/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentType** to execute deep linking tests.
* **mediaType**: The [mediaType](/docs/developer/discovery/implementing-deep-linking.md#understanding-deep-linking-parameters) of the content to be played. You can include this parameter and the **contentId** to execute deep linking tests.
</td>
<td>
Launches the app corresponding to the specified app ID.
Expand Down Expand Up @@ -429,7 +429,7 @@ The Roku's Robot Framework Library includes the following keywords:
Verify is screen loaded
</td>
<td>
* **data**: An object with locators for elementData and parentData (parentData is optional). See the [WebDriver element command](/docs/developer-program/dev-tools/automated-channel-testing/web-driver.md#POST-v1/session/:sessionId/elements) command for more information.
* **data**: An object with locators for elementData and parentData (parentData is optional). See the [WebDriver element command](/docs/developer/dev-tools/automated-channel-testing/web-driver.md#POST-v1/session/:sessionId/elements) command for more information.
* **retries**: The number of requests that can be made before returning false. This argument is optional, and it defaults to 10 if not specified.
* **delay**: The delay (in seconds) between retries. This argument is optional, and it defaults to 1 second if not specified.
</td>
Expand Down Expand Up @@ -528,7 +528,7 @@ The Roku's Robot Framework Library includes the following keywords:
Get element
</td>
<td>
* **data**: An object with locators for elementData and parentData (parentData is optional). See the [WebDriver element command](/docs/developer-program/dev-tools/automated-channel-testing/web-driver.md#POST-v1/session/:sessionId/elements) for more information.
* **data**: An object with locators for elementData and parentData (parentData is optional). See the [WebDriver element command](/docs/developer/dev-tools/automated-channel-testing/web-driver.md#POST-v1/session/:sessionId/elements) for more information.
* **delay**: The delay (in seconds) between retries. This argument is optional, and it defaults to 1 second if not specified.
</td>
<td>
Expand Down Expand Up @@ -571,7 +571,7 @@ The Roku's Robot Framework Library includes the following keywords:
Get elements
</td>
<td>
* **data**: An object with locators for elementData and parentData (parentData is optional). See the [WebDriver element command](/docs/developer-program/dev-tools/automated-channel-testing/web-driver.md#POST-v1/session/:sessionId/elements) for more information.
* **data**: An object with locators for elementData and parentData (parentData is optional). See the [WebDriver element command](/docs/developer/dev-tools/automated-channel-testing/web-driver.md#POST-v1/session/:sessionId/elements) for more information.
* **delay**: The delay (in seconds) between retries. This argument is optional, and it defaults to 1 second if not specified.
</td>
<td>
Expand All @@ -592,7 +592,7 @@ The Roku's Robot Framework Library includes the following keywords:

| Keyword | Description | Example |
| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| Get focused element | Return the element on the screen that currently has focus. See the [WebDriver active element command](/docs/developer-program/dev-tools/automated-channel-testing/web-driver.md#get-v1/session/:sessionId/element/active) for more information. | `&{element}= Get focused element` |
| Get focused element | Return the element on the screen that currently has focus. See the [WebDriver active element command](/docs/developer/dev-tools/automated-channel-testing/web-driver.md#get-v1/session/:sessionId/element/active) for more information. | `&{element}= Get focused element` |

### Verify is channel loaded

Expand Down
Loading
Loading