I didn't know whether either were true. A quick test established that the software did not hang. It merely failed to display any user-accessible controls. In retrospect, the solution looks ridiculously simple, but I had to know what I didn't know. Use tools that will allow you to see what you need to see.
Many programmers use whatever tools are present and accept the level of information they provide.
Instead of remaining passive, decide what it is you need to see to analyze the bug. It might be network messages, DLL call parameters or hardware interrupts. You might need high-resolution timing or a log of object copies. The default debugger might be fine, or you might need a lower-level tool to debug a driver. If rapidly interacting components are involved, a debugger might just interfere, so you might use trace output or log files to see what is needed.