You could use the debugger to attach to a stuck zone and then break to see where it is stuck. If it doesn't immediately make sense what the problem is you can continue/break several times to see if it is ever in different code. Assuming it's in a tight infinite loop then it should break near the same place every time. If the loop is bigger then it may take a while to narrow down what's going on.
You'd need to add debugging information to your executables to be able to see the source when you break.
|