Debugging APEX Applications by John Scott - Session link at developer toolbar : values of the items with your session - Debug mode : cpu time(not wall clock time) is showed, Debug link at developer toolbar or by url setting ":DEBUG" can be activated, disable at production :) capital "YES" and "NO" needed, if not given in capital default will be "NO" - Trace files : "&p_trace=YES" option enables tracing, for finding the trace file under user_dump_dest you can grep the session id in the url. In the header of the Apex created trace you will see specific module, acition supportive information. I asked John if this trace can have waits and binds inside also(level 12 10046 event) and he said Apex team will be working on this option to be level configurable. Also instead of "v" function on the where clause use ":APP_USER" bind variable to gain performance so the function won't be called for each row query returns - Code Instumentation : if v('DEBUG') = 'YES' then htp.p('Something'); -- easiest way wwv_flow.debug('Something'); -- similar output generated you see in the debug mode insert into tbl_debug ... end if; - dbms_application_info : apex itself uses the package to set action, client_info and module areas. without transaction cost on a user defined table you can monitor the progress of your application from v$session or long_ops view when you set these values inside of your application with the package ajax popup to show the progress of a long running job based on the information provided by this package, nice idea ;) - javascript (for ajax esp.) : console.log() - this.debug() - this.printStackTrace() - client side tools : firebug with firefox(www.getfirebug.com); dom inspection, javascript profiling, examine css, watch variable, breakpoints - intractive debugging(this I didn't know, was really cool with the demo on sql developer:) : assistance of dbms_debug_jdwp suppl. package introduced with 9iR2 for jdev developers(how ironic ;), grants needed and sql developer make it easy with this option dbms_debug_jdwp.connect_tcp(ip, port); -- call the code -- dbms_debug_jdwp.disconnect; - Database monitor inside apex : needs dba privs. - utulities > database monitor tab - Monitor Apex dictionary views : apex_workspace_activity_log