Questions tagged [sosex]

SOSEX is debugger extension for SOS managed code debugger.

SOSEX is another debugger extension targeted at the native debuggers and managed code debugging. It was developed by Steve Johnson and is available as a free download. SOSEX, not surprisingly, stands for SOS Extended. SOSEX adds a set of powerful debugging commands to your arsenal. Examples of such commands include deadlock detection, generational garbage collection commands, and more powerful breakpoint commands.

Downloads:

Source: Introduction to the Debugging Tools

46 questions
12
votes
2 answers

Breakpoint set by sosex.mbp or sosex.mbm not working

I am using VS.NET 2010. I compiled a very simple .NET 4.0 application. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestWindbg { class Program { static void Main(string[] args) …
Harvey Kwok
  • 11,713
  • 6
  • 37
  • 59
8
votes
1 answer

How to identify array type?

I have an OutOfMemoryException and I'd like to analyze the size and the type of the array which shall be created. I have created a demo purpose dump for that situation and I'm able to get the following information: 0:000> !pe Exception object:…
Thomas Weller
  • 55,411
  • 20
  • 125
  • 222
7
votes
2 answers

Can WinDBG be made to find mscordacwks.dll in the symbol store?

The Question There are plenty of manual ways to make WinDBG find mscordacwks.dll without a symbol store (putting the file in the path somewhere, putting it in the same folder as windbg.exe, putting it in my Framework\v folder, specifying the path in…
bob
  • 452
  • 4
  • 11
6
votes
2 answers

Why psscor4 command will not run

For some reason, I cannot run any commands once I load psscor4. I have downloaded x64 of psscor4 from MS website and put it in same folder where windbg is. Before loading psscor4, I can run sos commands fine without any problem. 0:003> .loadby sos…
crazy novice
  • 1,757
  • 3
  • 14
  • 36
6
votes
1 answer

How to display managed objects with certain value in one of the fields in WinDbg using SOS (or SOSEX)?

My problem is this: 0:000> !DumpHeap -type Microsoft.Internal.ReadLock -stat ------------------------------ Heap 0 total 0 objects ------------------------------ Heap 1 total 0 objects ------------------------------ Heap 2 total 0…
mark
  • 59,016
  • 79
  • 296
  • 580
5
votes
1 answer

Get list of object instances that are in LOH

I have several hundred instances of MyClass present in managed heap. Some of these are in large-object heap. Below is how various heap structure looks 0:000> !EEHeap -gc Number of GC Heaps: 1 generation 0 starts at 0x0000000002df9de8 generation 1…
paul deter
  • 857
  • 2
  • 7
  • 20
5
votes
1 answer

Free objects ~50% of .NET heap. How to know what's causing OOM

I am trying to determine what's contributing to my application high memory usage. So I took process dump file. EEHeap command is showing about 2.8 GB in .NET memory heap. 0:000> !EEHeap -gc Number of GC Heaps: 2 ------------------------------ Heap 0…
crazy novice
  • 1,757
  • 3
  • 14
  • 36
4
votes
0 answers

Warning: Multiple managed methods at this address

I'm having an issue with a C# application which can, at random times, crash without warning or meaningful information. The same data can be put through the application, but it doesn't crash at the same time, it doesn't even crash sometimes. I've…
pkunal7
  • 283
  • 3
  • 11
4
votes
1 answer

Why does sosex!dlk run forever on Windows 7?

We recently moved from Windows XP to Windows 7 and ever since the move I've found that I can't run the !dlk command from Sosex in WinDbg anymore, it simply runs forever. It used to be a handy way to catch deadlocks in our code. Did something change…
Jonathan Beerhalter
  • 7,229
  • 16
  • 68
  • 78
3
votes
0 answers

!dumpmt contradicts !dd when analyzing .NET method table

I'm inspecting .NET object internals using WinDBG and SOS. I have a class with 3 methods. When I dump the method table using !dumpmt -md [address] command I get a description of 8 methods. When I dump memory using dd [address] command I can't find…
Evgeny Belov
  • 308
  • 4
  • 12
3
votes
1 answer

Why do SOS/SOSEx misinterpret the values of a System.Collections.Generic.List.Enumerator?

I wrote a simple C# app: static void Main(string[] args) { var list = new List {500,400,300,200,100}; var listEnumerator = list.GetEnumerator(); listEnumerator.MoveNext(); } // <--- breakpoint here I put a…
Omer Raviv
  • 11,409
  • 5
  • 43
  • 82
3
votes
1 answer

Is there any way to get the values of local variables (like sosex !mdv) with ClrMD?

Using windbg with SOS and SOSEX, I can use the !mdv command which "Displays arguments and locals for a managed frame". Is there any way to achieve the same results programmatically with ClrMD?
Omer Raviv
  • 11,409
  • 5
  • 43
  • 82
3
votes
1 answer

How to find custom attributes on an instance with WinDbg

Using windbg, is there a way to see all the custom attributes that are defined on an instance? (at class level) And if it is possible, can I see fields values in the custom attribute?
Ohad Horesh
  • 4,340
  • 6
  • 28
  • 45
2
votes
2 answers

Discrepancy in !objsize in hex and decimal

I use !objsize command to get the true value of an object. For example when I run the command below, it tells me that size of object at address 00000003a275f218 is 18 hex which translates to 24 in decimal. 0:000> !ObjSize 00000003a275f218…
whoami
  • 1,689
  • 3
  • 22
  • 45
2
votes
1 answer

Running a command from the loop

I would like to run !refs command against each address from following command !dumpgen 2 -type System.DateTime[] How this could be done.I know a loop can be created as follows .foreach (myvar {!dumpgen 2 -type System.DateTime[]}) But how can I…
whoami
  • 1,689
  • 3
  • 22
  • 45
1
2 3 4