The Sun JVM has built-in remote debugging support. Most app servers, including
Tomcat, have an option in their startup scripts to switch on that debugger. In fact, the sysdeo Tomcat plugin does pretty much just that - it starts a copy of Tomcat, then does an automatic remote debugging connection to it.
The only constraint is that to debug properly, the application's source code available to Eclipse must match the compiled classes on the server. If it isn't, the breakpoints won't match up properly and you'll probably get very confused.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.