1. A method for execution by one or more processors, the method comprising: receiving executable code having a plurality of subroutines, one or more of the plurality of subroutines having a first version comprising optimized object code and a second version comprising debuggable object code; and upon determining the subroutine is to be debugged, causing the debuggable object code to be executed.