Because they use an older pl/sql debugger API, DBMS_DEBUG
We use a newer one DBMS_DEBUG_JDWP
It has more features and continues to be enhanced.
You'll need to work with your dba and network admins to open ports on the database server so it can reach your dev boxes.
Here's some additional info to follow on what Jeff already said
It all comes down to can your database server initiate a connection back to where SQL Developer is running. So first things first, can the server ping your machine, and is there a outbound firewall for TCP on the default debugger ports which start at 4000 or so.
See 'Tools => Preferences => Debugger' if you need to modify the port range used for debugging.
I can't find the latest doc right now but this 10g doc for NET explains how debugging works using that JDWP package
How External Application Debugging Works
The Oracle PL/SQL Debugger starts when you select Start Oracle External Application Debugger from the Visual Studio .NET Tools menu. A dialog box appears and requests that you enter the TCP port for debugging. This must be the same TCP port number that you have provided for the defined mechanisms, the
ORA_DEBUG_JDWPenvironment variable or the
DBMS_DEBUG_JDWPpackage. The debugger listens on this TCP port.
Have your DBAs read the first couple of sections of that if they need to.
Dear rp0428 and Jeff,
thank you very much for the explanation, but to be honest, it is a nightmare to convince security and networking people to open up firewalls to make such a debugging connection working.
Maybe there are enhanced features, but the more complex handling is a nightmare.