There are 2 ways to debug web application servers (like
Tomcat and Weblogic) in Eclipse, although underneath, they're the same way - remote debugging. One is by explicit remote debugging, and the other is by integrated local debugging, which is simply remote debugging where Eclipse automatically does the remote debugger connections itself.
Every JVM has the ability to operate in debugging mode. But there's a catch. The target JVM (the WebLogic server) has to be STARTED in debugging mode. That means that when the JVM first launches, it is notified that it needs to open a specified network port that Eclipse (or any other Java debugger) can use to communicate with it.
When you launch the server directly from Eclipse, this stuff is normally done for you. When you launch manually, you have to make sure that the Eclipse debugger knows what port to use and has been explicitly made to connect on it.
The other "gotcha" is that the debugger is going to step through code on the target JVM, but the source files have to be visible to the Eclipse itself. If your source files aren't in sync with the class files - meaning that the target machine's classfiles aren't identical to what you'd get if you compiled the source on the Eclipse machine - the debugger will act oddly, since, in effect, it's driving down one road while using a map of another road for navigation.