I see following call stack for finalizer thread. Is it normal to have a call to WaitForSingleObject at top in finalizer? Is there anyway I can determine if its not deadlocked or waiting for really long time? 0:009> k Child-SP RetAddr Call Site 000000
I am trying to understand how !address -summary report managed allocations. I have following code to try to test it out. I basically change the size of array and then attach windbg to inspect results for !address -summary static void Main(string[] ar
I am investigating a high memory consumption issue with my application. The memory keep rising up and I would like to know out where all the memory is consumed. I have got a dump file that is ~3GB in size. Here is the output of !dumpheap -stat comman
I'm currently working in a memory issue on a .NET application, I'm debugging the Issue using Windbg I have come across to what the memory issue is, but during the investigation !do command is getting me the object which has a content that is excessiv
When I am reading docs about sos.dll @MSDN, encounter a note says If you are using Visual Studio 2013, SOS.dll is supported in the Windows Debugger within Visual Studio I know how to use sos.dll in the immediate window in Visual Studio 2012. But how
I have a dump which has both .NET versions loaded: 0:000> lm m clr start end module name 65490000 65aff000 clr (deferred) 0:000> lm m mscorwks start end module name 6a980000 6af2c000 mscorwks (deferred) Now I'm uncertain which version of SOS to use.
I've started to read some materials on advanced debugging tools and techniques. I use VS2012 Ultimate and the target framework is .NET 4.0. I got to the point where I need to load SOS.dll in the Immediate window during a debug session and it just doe
I've set up ADPlus / cdb as the default Just-In-Time debugger on my machine. When any process has an unhandled exception or crashes for any other reason, I want ADPlus to generate a crash dump for me. I'm using an ADPlus config file to set the output
How can I print the string value of all the System.String objects on the current thread's clrstack? Pseudo code for what I want to do: foreach ($string in !dso -type System.String) !do $string or better yet foreach ($string in !dso -type System.Strin
Let's say I have a memory dump of a process. I want to run a report on it, so essentially I want to open WinDBG, load SOS and run a script that runs some commands, parses the output and then runs some more commands based on that. Apart from hackish s
Possible Duplicate: How can I know the CLR version of a crash dump? If I open a dump file (of a managed process) in WinDbg, is there anyway of finding which version of .NET framework that process was using?The lm (List Modules) command can provide su
I am working on a mixed-mode app (C++/CLI, C++, some C#) and when it crashes in the field a memory dump gets created. I usually get these dumps from the customer and try to figure out what went wrong. The question is - how to handle post-mortem debug
I'm debugging a test that periodically raises an IOException, noting that a file can not be deleted because it is being used by another process. I suspect that the process is indeed my test harness, and that some other thread in the process hasn't di
I am debugging a hangdump coming from a production server using WinDbg with the SoS extension. There is a string parameter in one of the stacks, that I need to know the value of. However, it is a rather large string, and WinDbg won't print it when I
Background: I'm new to WinDbg and trying to get it running for the first time. I want to examine a memory dump I took from a running ASP.NET 4 site hosted in IIS 7 on Windows Server 2008 (x86) and downloaded to my local machine. I installed the debug
What does it mean if !gcroot returns an empty thread list? 0:000> !gcroot 0000000010817c50 Note: Roots found on stacks may be false positives. Run "!help gcroot" for more info. Scan Thread 2 OSTHread 15a4 Scan Thread 10 OSTHread 1db4 Scan Thr
I got the following line from !dumpheap -stat 000007fee09d6960 441762 835293368 System.String I'm interested to find out what the 441 762 strings are used for. Doing a !dumpheap -type System.String would list all, or am I mistaken? How can I just ana
What's the significance of the name "Son of Strike"? Does it serve any meaning or does it just sound cool?Jason Zander's blog post explains it perfectly: The original name of the CLR team (chosen by team founder and former Microsoft Distinguishe
I had used SosAssistin past and it was awesome, now I i tried to download it again but it is no longer available :( any other tool which can visually show memory/threads/callstack?You could use the helpful .cmdtree command in WinDbg to display a tree
I know this was answered before, but I'd like to pose a somewhat different question. Is there any conceivable way to implement GC.GetAliveInstancesOf(), that can be evaluated in Visual Studio Debug Watch window? Sasha Goldstein shows one solution in
Title kinda says it all. The usual SOS command !bpmd doesn't do a lot of good without a name. Some ideas I had: dump every method, then use !bpmd -md when you find the corresponding MethodDesc not practical in real world usage, from what I can tell.
I am looking of a description of the output generated by the !SyncBlk command of SOS. Particularly I found no useful explanation on the column "MonitorHeld". This column shows high values in a series of crash dumps. Example: 0:000> !SyncBlk I
I'm using Windbg (with the sos extention) and trying to debug a crashed application. I was able to dump the IL of the call that threw the exception and by examining the code, it seems like I could obtain the information that I need if I could dump th
This question is fairly straightforward -- I am trying to debug a memory leak in a silverlight application using s.o.s. I was able to get some good info using !gcroot to determine what objects have open references to the one that should be getting cl