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
0
votes
0 answers

!bpmd WinDbg Breakpoint Gives An Access violation Error

I want to simply add a breakpoint to a line. I used the code "!mbp Program.cs 5" taking the answer of that thread. But after that it gives "Failed to load App Domain data for the shared AppDomain. Error = 0x80070057" error. Can anyone teach me what…
0
votes
1 answer

How to look for a thread with specific call stacks (from thousands of threads)

I need to look at a thread with specific stack trace from a dump-file. This file has has thousands of threads 0:638> !threads ThreadCount: 23800 UnstartedThread: 175 BackgroundThread: 4569 PendingThread: 194 DeadThread: 19053 Hosted…
whoami
  • 1,689
  • 3
  • 22
  • 45
0
votes
0 answers

What is the format of sosex heap index file?

What is the format of sosex heap index file? I would like to parse it and analyze the content. I checked stevetechspot blog and cannot find the info there. Seems Steve hasn't updated the blog for several years.
0
votes
1 answer

Source code information missing with SOS/SOSEX

I'm using cdb with the sosex extension. Everything seems to be working fine except that I am unable to get any !mbp breakpoints to to resolve and !mu/!muf don't show source info. Got going with the following commands: .lines sxe ld:clrjit g .loadby…
Tom
  • 1,204
  • 2
  • 10
  • 25
0
votes
0 answers

Difference between !sos.rcw and !sos.dumprcw output

Recently I needed to debug a memory dump of a CLR process where the finalization queue was being blocked by a COM object. While I have largely identified the issue, I am not sure about the difference between some of the output and seek some…
Dono
  • 1,254
  • 13
  • 30
0
votes
1 answer

3GB strings in Gen 2, How to dump limited large objects in Gen 2 only?

by using command !dumpgen 2 -stat, I find that there are 3GB strings, 23,531,124 3,110,704,598 System.String, if I dump all of them, it will hang the windbg, is there any way I can only dump limited large object result in Gen 2 only? thus I…
Sky Line
  • 47
  • 1
  • 7
0
votes
0 answers

!dumpheap -min for strings does not work as expected

It seems like !DumpHeap does not handle string types correctly when given the size parameter. Please, observe: 0:000> !DumpMT 00007fff6c9c16b8 EEClass: 00007fff6c3447a8 Module: 00007fff6c341000 Name: …
mark
  • 59,016
  • 79
  • 296
  • 580
0
votes
1 answer

Windbg: Breakpoint SOS, or SOSEX.DLL name of the method

While debugging with SOS or SOSEX in managed code, I can set breakpoints using !mbm *!*GetSubscription for example, is there any way to get the method name? Example: bp 8373772 ".printf \"methodname\";gc". The idea is to have the name of the methods…
jrpz
  • 73
  • 1
  • 8
0
votes
1 answer

Use register for .NET sosex extension

Is there any way to display the object contents using !mdt (SOSEX extension) but using a register? I am aware if you do !mdt 299281 (display the object in that address if any) but what about if I want to do !mdt edx (register instead of hex…
jrpz
  • 73
  • 1
  • 8
0
votes
1 answer

Is there an API to inspect the heap index file created by the sosex.bhi command?

Ultimately, I want to dump the heap data into a SQL Server database in order to be able to analyse it at ease. Right now my approach is to run the sosex.dumpgen command while redirecting to a file and then dumping into the database using a small C#…
mark
  • 59,016
  • 79
  • 296
  • 580
0
votes
0 answers

How to find related SqlCommand object

I am looking into a dump file for high memory issue. One thing that stands out in that dump file is over 300,000 DataRow objects. We run queries against sql database that are stored in-memory DataTable objects. I would like to know that what query…
whoami
  • 1,689
  • 3
  • 22
  • 45
0
votes
1 answer

Is there a way to check if garbage collection was triggered while analyzing dump file through SOS.dll

I am analyzing a .dmp file for "OutofMemory" exception. The objects are staying in the memory for very long time, so is there a command to check if the garbage collection was triggered by using SOS.dll or SOSEX?
m_d_p29
  • 163
  • 8
0
votes
1 answer

Get primitive value with ClrMD

I have the following class Test { private MyStruct myStruct; } struct MyStruct { private int structValue; } How can I get the value of structValue? I tried the following but with no success field.GetFieldValue(_address,…
Maya
  • 989
  • 4
  • 12
  • 19
0
votes
1 answer

sosex.mbm: setting a command argument

I often have a need to set a breakpoint on method, print the arguments, and break on a specific argument or continue when not matched. In native code, I would use bp "commands". But this is a managed application, so the method is not always…
Dono
  • 1,254
  • 13
  • 30
0
votes
1 answer

SOSEX mdt command wrong output

I found quite strange issue with sosex !mdt command. I was investigating crash memory dump and was checking the value of System.Web.EtwTrace class static field using !mdt command: !mdt System.Web.EtwTrace [s]_traceLevel: int ... AppDomain…
Nikolay Mitikov
  • 523
  • 2
  • 16