Skip to content

While debugging a PL/SQL error by adding DBMS_OUTPUT trace statements into standard API packages and recompiling, the actual error message being investigated suddenly changes to a different, unrelated-looking error ('could not find program unit being called') partway through the debugging session — why would the error itself change mid-investigation?

Answer

This points to the underlying database objects being invalidated by other, unrelated development activity happening on the same objects at the same time — if someone else is compiling changes to the same packages you're debugging (or objects they depend on), Oracle can invalidate them mid-session, which changes what error surfaces next time the code path runs. Check for invalid objects in the database when this happens, and recompile them before continuing — doing that before resuming a debugging session avoids chasing an error that's actually just fallout from unrelated concurrent development rather than the original issue.

← Browse Developer Studio, deployment, and upgrades questions