Firstly, is there a command for getting help and parameters for each sos command in windbg?
Secondly, I'd like to understand !syncblk output
Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner
201 05b9493c 979 1 05bc1040 bcc 45 022f3490 System.Collections.ArrayList
2875 05b4c914 1 1 17b99e10 1af8 290 024862d8 MyClass
2945 05b4b66c 1 1 17d1a290 12c0 752 02482940 MyClass
MonitorHeld shows # of monitor held by the synblk. 1 for write and 2 for read, but what does the rest of column means?
Say I have a C# code
MyClass MyObj;
MyObj = new MyClass();
Now if I do
lock (MyObj)
{
}
Will the syncblk owner column show "MyClass" ?
Similarly when I run this !SyncBlk command, what exactly is it showing me? Is it showing me the number of lock() and Monitor.Enter and Mutex() and other locking mechanisms?