I should have updated this quite awhile ago. If you are using LabVIEW 8.6 or higher, National Instruments has released a tool to capture LabVIEW events called the
Desktop Execution Trace Toolkit. It can be used to debug code dynamically, since it can capture all sort of events - unhandled errors, event structure events, queues, etc. It also runs in a separate process, so should not crash if LabVIEW crashes. It can be used as a complement or replacement for the method above, depending on your needs. It has the advantage of requiring no code changes.