Repository navigation
Remote debugging alternatives
Currently remote debugging is fairly new and I wanted a place to document all the other solutions and proposed solutions to help fix this hugely annoying issue.
Here's some projects and solutions I have across that allow you to do remote debugging on external devices.
Probably one of the best out there at the moment, pronounced "winery" but weinre is much funnier. This awesome tool allows you to inspect the DOM as well as access the console and remotely execute JavaScript.
Jonathan Stark has done a great screencast showing what you can do with it.
Patrick Mueller (the creator) has also done a screencast showing it's capabilities.
Remy Sharp created jsconsole and added the ability to remotely execute JavaScript using the jsconsole webapp.
I also forked his version to include a serverless solution that uses WebSockets and the Firefox plugin BrowserSocket to create a P2P connection.
Remy has done some great screencasts showing how to set it up and use it.
I've also done a screencast showing how to use my version.
Elijah Manor did a great rundown of using jsconsole with jsbin.com.
Jonathan Stark also has done a great screencast for jsconsole too.
A very clever tool that allows remote breakpoints, watches and callstacks. Using code rewriting and synchronous XHR calls so JavaScript execution can be stopped and started on a remote client.
Opera has had remote debugging in dragonfly for some time now the only downside is that it's Opera Mobile to Opera Desktop. The upside is that (correct me if this is incorrect) you can set breakpoints and remotely debug JavaScript execution.
Firefox (and other Gecko-based projects) have a debugging server component that can be used.
The Firebug project's attempt to add remote debugging functionality for firebug this looks quite promising.
The firebug blog has released a paper on the crossfire protocol.
Google has a solution for remote debugging by allowing the developer tools to connect to seperate Chrome instance and create a WebSocket connection that passes JSON messages. They have even got an early stage protocol for a standard way of communicated JSON ecoded messages.
Starting Chrome with the --remote-debugging-port=9222 flag will allow you to remotely debug any webpages opened in that browser instance. This allows you to do anything the built in dev tools can do remotely including code breakpoints.
Using the new decoupled Debug API, that can send instructions over a network, a Firefox mobile developer has done a blog post looking at an early look of remote debugging.
Android 4+ has added the ability to do remote debugging via a USB cable in Chrome Android.