How to dump or search in call stacks of ALL threads in Visual Studio

How to dump or search in call stacks of ALL threads in Visual Studio? We have a server process to debug and it has hundreds of threads running, so it should be hard to manually check each threads.

I know "thread apply" in gdb can do this kind of things. So I was wondering is there anything similar available in visual studio's debugger.

Also I was using visual studio 2005, so please give a solution for VS 2005 ( search in all call stack is provided in VS 2010...).


Solution 1:

I just had the same problem, also in VS2005. I found a simpler solution: While debugging open the command window of VS and use the command: Debug.ListCallStack /AllThreads

I found this on: https://web.archive.org/web/20150627064016/http://blogs.msdn.com/b/greggm/archive/2005/08/02/446899.aspx

Solution 2:

Later I found the answer by using WinDbg,

First save a minidump in VS debug session, say, myapp.dmp

Then using the following command to dump all callstack to out.txt

cdb -z c:\myapp.dmp -logo out.txt -lines -c "~*kb;q" -y c:\symbols