views:

40

answers:

1

Our application started to have some strange performance problems in the production environment. Constant CPU usage, although the app doesn't seem to be doing anything, and high memory usage.

We've created a dump file of the process using the Task Manager's feature. Now we're trying to debug it, but it doesn't seem to be that easy :)

VS2010 won't debug managed code, the only action available is "Debug with Native Only", that's probably because of the app being a .NET 3.5 app.

Is there a way to see the managed call stacks for all threads in this kind of situation?

+1  A: 

You can use Windbg( http://www.windbg.org/) to debug and resolve performance problems in production environment. Though you will not be able to perform thread stack analysis, it gives a snapshot of all objects in-memory that can be used to analyse your application.The SOS Debugging Extension (SOS.dll) helps you debug managed programs in the WinDbg.exe debugger and in Visual Studio.

If you are willing to shell out money, the redgate ants profiler is a safe bet.

Bharath K