To catch stack traces of other threads, you will have to be in the debugger and view their stacks (for example, using the parallel stack window) when an exception occurs, but this does not allow sending Traces back.
You can use your code (that is, drag it in strategic places) to record stack traces that can be accessed by another thread, but this has unpleasant problems with performance, maintenance and elegance. Not to mention that it will only approximate what other threads do, as they could move independently, as an exception was thrown.
The only way I can think (and this is a hunch) is to somehow interrupt other threads, intercept the interrupt, save the stack trace, and then reset the interrupt. But this is likely to be a deterministic mess. Cancel is not recommended.
You will probably be best off working with the call profiler, generously logging and narrowing down the scope to find the root cause.
source share