首先,是否有用于获取每个 sos 命令的帮助和参数的命令windbg
?
其次,我想了解!syncblk
输出
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
显示 # 持有的监视器synblk
。1 用于写入,2 用于读取,但列的其余部分是什么意思?
假设我有一个 C# 代码
MyClass MyObj;
MyObj = new MyClass();
现在如果我这样做
lock (MyObj)
{
}
syncblk
所有者栏会显示“MyClass”吗?同样,当我运行此!SyncBlk
命令时,它到底向我显示了什么?它是否向我显示了lock()
and Monitor.Enter
and Mutex
() 和其他锁定机制的数量?