IDL can be a royal pain sometimes, but the fact that it's a scripted language comes in handy when you have to debug. Aside from being able to just start typing in IDL commands right in the current focus if a proc hangs up, you can also set breakpoints and do stepping.
I never used the following info about doing it from the command line, but this has lots of useful features.
http://idlastro.gsfc.nasa.gov/idl_html_help/BREAKPOINT.html