gpt4 book ai didi

c# - WinDbg/SOS : Explanation of ! SyncBlk 输出

转载 作者:可可西里 更新时间:2023-11-01 08:56:07 25 4
gpt4 key购买 nike

我正在寻找 SOS 的 !SyncBlk 命令生成的输出的描述。

特别是我在“MonitorHeld”列上找不到有用的解释。此列显示一系列故障转储中的高值。

例子:

0:000> !SyncBlk
Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner
44 0000000005a5c228 1 1 000000000e7a6740 2304 273 000000019f858cd0 System.Object
48 000000000579bae8 1 1 000000000e7a72e0 2370 275 000000015f999900 System.Object
52 000000000579b9c8 1 1 0000000011bbd3b0 1e98 295 00000000ff89fe08 System.Object
54 000000000579b938 1 1 000000000e7a38c0 1be4 249 000000013f8aa888 System.Object
108 0000000005a5bfe8 1 1 000000000e79f300 224c 242 00000000ff8a5828 System.Object
110 0000000005a5c078 1 1 000000000e79ca50 2290 262 000000015f9a8020 System.Object
112 0000000005a5c108 1 1 0000000011bb70e0 1d38 236 000000015f99e408 System.Object
114 000000000579b620 1 1 0000000011bb93c0 1884 304 00000001bf974a90 System.Object
124 0000000005a44d48 1 1 000000000e7a6170 2300 272 000000019f853fe8 System.Object
146 0000000005a44688 99 1 000000000588cbf0 13e0 38 000000017f71c4f8 System.Object
155 0000000005a44f88 1 1 0000000011bba530 2274 301 000000019f82f120 System.Object
157 0000000005a45018 1 1 0000000011bbf0c0 2034 290 000000015f952980 System.Object

谁能解释“MonitorHeld”列中的“99”?

有人有指向此命令的完整引用文档的链接吗?

谢谢,亚历克斯

最佳答案

MonitorHeld 指的是该特定 SyncBlk 持有多少监视器。

每次您争用锁时,您都会有 1 个所有者持有 syncblk。锁上的每个服务员持有 2 个。

你的 99 意味着你有一个对象“拥有”锁,还有 49 个对象在等待锁。

我发现的关于 !syncblk 的最佳讨论和详细解释是 this one by Tess Ferrandez .

关于c# - WinDbg/SOS : Explanation of ! SyncBlk 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2203000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com