1. A computer implemented method comprising: initiating an executable application and a profiler for said executable application; stopping new communication between said profiler and said executable application; determining an estimated time for said profiler to shut down; identifying profiler modified code within said executable application for a first function, said modified profiler code being in a call stack; determining that said profiler modified code has completed operation; identifying a thread modified by said profiler; shutting down said thread; and shutting down said profiler.