Here's my problem: I am running a multi threaded application on gsi. Thread X executes thunk THUNK. if THUNK throws an exception, I want to be able to use the repl to jump into thread X and see what is wrong (and have the whole interactive repl debugger at my finger tips). However, I also want to profile THUNK. Thus, before THUNK starts, I want to run (profile-start!) and when THUNK finishes (or if an exception is thrown), I want it to call (profile-stop!) Here now is the problem ... if I don't catch the exception (and allow myself to debug it at the GSI), my profiler will colelct data of me sitting at the REPl debugging. On the toher hand, if I catch the exception to call (profile-stop!), I no longer know how I can debug the exception at the REPL. How do I get around this? Thanks!