The easiest way to illustrate remote debugging is to use Oracle SQL Developer with an application in APEX. The subprogram resides in APEX, and Oracle SQL Developer is used to debug it. This capability is especially useful when an application isn't failing but also isn't producing the results you expect. The following grants are necessary before performing remote debugging:
grant DEBUG CONNECT SESSION to <schema>; grant DEBUG on <object> to PUBLIC; grant DEBUG ANY PROCEDURE to APEX_PUBLIC_USER;
ANONYMOUS when using the embedded gateway.
Note that running a package in debug mode severely ...