Like most, I like surprises!
Some surprises aren’t always welcome though; and one such surprise bit me yesterday.
As a good citizen I upgraded my installation of Google Chrome when advised a new version was available. With hind-sight I don’t know why I so gleefully went along with the upgrade (after all, I’d recently removed the latest version from my mobile telephone as it didn’t “feel” as good… anyway I digress).
The surprise was that Chrome 35 stops supporting GWT’s “DevMode” (something I’d long been used to with FireFox) and as from GWT 2.6.0 support for “DevMode” is to come to an end (“GWT Development Mode will no longer be available for Chrome sometime in 2014, so we improved alternate ways of debugging. There are improvements to Super Dev Mode, asserts, console logging, and error messages.”)
Options were to find an installation of Chrome 34, or switch to SuperDevMode (that seems inevitable). Electing for the latter, I present my findings on how to configure your webapp, IDE and run (or debug) it in “SuperDevMode”.
These instructions are for IDEA (NetBeans will probably follow a similar route).
(2) Create a new GWT Launcher for SuperDevMode:
(3) Add the following to your webapp’s gwt.xml (module) file:
(5) Launch the SuperDevMode code server (the “SuperDevMode” GWT Launcher):
(6) Drag the “Dev Mode On” and “Dev Mode Off” buttons to your bookmark bar (as advised) – but we don’t normally read these sort of things, right! 😉
(7) Go back to the webapp’s browser tab
(8) Click on the “Dev Mode On” bookmark you created in step (6)
(9) Click on “compile”
(10) Delete the “codesvr” part of the URL and press enter (dismiss the popups that appear; which ones depends on what browser your GWT module targets; e.g. I had to dismiss a popup about using Chrome but the GWT model targets FireFox).
(12) What’s that? You want to debug your application?!?
This isn’t too bad. Just launch both your “classic” GWT Launcher in debug mode and the “SuperDevMode” GWT Launcher in normal mode.
Server-side code needs break-points in IDEA, and client-side break-points need to be added using Chrome’s Developer Tools (you’ll need to make sure “sourceMaps” are enabled, but this appears to be the default in Chrome 35).
Accessing Chrome’s debugger: