When diagnosing a high CPU issue, the first question that comes to mind is which thread(s) is using all the CPU and what is it doing (in Managed Code terms)? To figure this out one needs to install Process Explorer for example to find the offending thread. Then one needs to capture a dump of the process, load it in something like windbg and find out what the thread(s) are doing - find out the managed stack trace of each thread.
This process is somewhat time consuming. Is there a tool (free or for pay), or reliable code that could be written, that could do all this in a matter of seconds (click of a button). The end result I'd like to see is a list of threads ordered by CPU utilization and the current method it is in with the option to drill down to see the whole stack trace. Basically the same thing you'd see in Process Explorer except for managed code.
This would need to work for .NET 4.0.