When a simple script encounters an error, it is relatively easy to troubleshoot. As a database grows more complex, troubleshooting rapidly becomes more challenging. Script calls initiated by users, event triggers, other scripts, and external systems form complex interwoven hierarchical execution stacks. Scripts can change found sets, switch layouts, and open new windows, creating a complex web of interconnected interface contexts. When something breaks, it is often difficult to even know which script caused the error, not to mention knowing where, why, and under what contextual conditions ...