Debugging a GWT application is as easy as debugging any Java application.
Your code is written in Java and GWT provides something called "Hosted Mode" which acts like a sandpit around a web browser instance as well as providing a simple servlet engine for any servlets/rpc code you have.
Hosted Mode allows your IDE's debugger to communicate directly with it so you can step through the code, set watchpoints, interrogate variables just as if it was a standard Java program.
Everyone is a villain in someone else's story. Especially this devious tiny ad: