I have a dump created from a managed application. I am using SOS/SOSEX extentions to ease my dump analysis. I'd like to list down the call stack of all managed threads as we do ~*kb
with native applications. How do we do that?
Asked
Active
Viewed 4.4k times
36

Lieven Keersmaekers
- 57,207
- 13
- 112
- 146

sarat
- 10,512
- 7
- 43
- 74
3 Answers
53
Use the sos !EEStack
command:
0:007> .load sos
0:007> !EEStack

Thomas Weller
- 55,411
- 20
- 125
- 222

Justin
- 84,773
- 49
- 224
- 367
-
6.loadby sos clr is better (for .NET 4) or .loadby sos mscorwks – Ana Betts Nov 17 '11 at 08:02
-
2For .net 4 i downloaded the .net 4 version of sos, Psscor4 http://www.microsoft.com/en-gb/download/details.aspx?id=21255, place the dll into the windbg folder - matching the correct dll with the correct windbg version (32bit|64bit) then to load `.load Psscor4.dll` – Chris Moutray Mar 08 '13 at 10:54
-
@sarat see JasonE's answer – Ohad Schneider Mar 16 '14 at 12:04
-
`!EEStack -short` – pkr May 18 '18 at 19:03
36
This command will dump all managed threads
~*e!dumpstack

Vadym Chekan
- 4,977
- 2
- 31
- 24
-
1Note that this requires the appropriate debugging extension to be loaded first via `.loadby sos clr` – Dirk Vollmar May 09 '18 at 15:57
-
2
15
with sosex, use ~*e!mk (~ - thread, * - all, e - execute this command, !mk - display managed stack. Most of the commands in sosex mirror the native command, but have the m (managed) in front of them.

JasonE
- 894
- 6
- 8