Chrome Remote Debugger

Use the Chrome Remote Debugger to debug a Cast application.

Launch Chrome Remote Debugger for a particular Google Cast device as follows:

To debug Cast apps on an Android TV device, see Android TV: Debugging.

To debug a Web Receiver app on Google Cast devices, do the following:

  1. Register your application and Google Cast device on the Google Cast SDK Developer Console.

    Both the application and device must be registered to the same developer account in order for you to perform debugging.

  2. Start your sender app and cast to the Google Cast device to load the Web Receiver app for debugging. Make sure your sender and Web Receiver devices are connected to the same network.

  3. There are two ways to connect to your device for remote debugging:

    1. Chrome Inspector

      1. In the Chrome browser, enter the following in the address field to go to the Chrome inspector:

        chrome://inspect
        

        A list of Cast-enabled devices on that network appears.

      2. Select the device for the Web Receiver app you want to debug by clicking its Inspect link.

        An inspector window should open, enabling you to remotely debug the Web Receiver app.

      3. Directly to the device's 9222 port

      4. In the Chrome browser, enter the following in the address field to go to the device you are debugging directly. This may be faster than the Chrome Inspector if you have many devices on your network:

        <device IP address>:9222
        

        The device IP address can be found by selecting the device in the Google Home app, going to settings, and looking under the Information section.

      5. Select the session you would like to debug by clicking its Remote Debugging link.

      6. If the Chrome Remote Debugger does not populate, select the icon to the left of the address bar and select site settings. Scroll to the bottom of the settings and change the setting for Insecure content to Allow.

  4. In the Chrome Remote Debugger console, enable debug logging, by entering the following:

    cast.framework.CastReceiverContext.getInstance().setLoggerLevel(cast.framework.LoggerLevel.DEBUG);

    Full DOM manipulation is supported as well as the full Chrome JavaScript REPL (console), which will allow you to tinker with the running Web Receiver app.

    When your Web Receiver is torn down (lifecycle ended), the debugger will become inactive with a warning message along the top. At this point you can no longer interact with the debugger. To restart debugging, you must restart the Web Receiver app and then reload the inspector.

Breakpoints

You can add manual breakpoints to your code by using debugger; within your Web Receiver code.

Local caching

Use window.location.reload(true); to perform a forced reload that flushes the cache of the Web Receiver application.

Preserving logs between sessions

You can preserve the logs between sessions by clicking the gear icon within the debugger and checking the box next to “Preserve log upon navigation”.