gpt4 book ai didi

.net - 有哪些不同的 CLR 句柄类型?

转载 作者:行者123 更新时间:2023-12-02 11:24:23 25 4
gpt4 key购买 nike

我一直在观看 Mario Hewardt 的 Pluralsight 类(class) .NET Internals and Advanced Debugging Techniques我在 CLR 中遇到了句柄的概念。

现在我已经找到了这个awesome SO answer关于句柄是什么,但 Mario 指的是句柄类型:

  • 坚固的 handle
  • 固定 handle
  • 异步固定句柄 ( SO description )
  • 引用计数句柄
  • 弱长柄
  • 弱短句柄
  • 其他句柄

视频中没有真正解释这些内容,我认为参加本类(class)的人应该了解这些知识。

我进行了 Google 搜索,但找不到关于这些内容的令人满意的描述,因此我希望 SO 用户可以帮助我。

最佳答案

我在 Windbg 的笔记中发现了这一点:

  • #ESP - ESP=扩展堆栈指针,对象正在堆栈上使用(注意,!gcroot 可能会在此处返回误报,请阅读 Windbg 中的 !help gcroot)

  • #DOMAIN(x):HANDLE(Strong) - 强引用,通常是静态变量

  • #DOMAIN(x):HANDLE(WeakLn) - 弱长句柄,通过终结跟踪的弱引用(可以复活)

  • #DOMAIN(x):HANDLE(WeakSh) - 弱短句柄,弱引用,无法复活

  • #DOMAIN(x):HANDLE(Pinned) - 固定对象,固定在特定地址,在垃圾回收期间无法移动。

  • #DOMAIN(x):HANDLE(RefCnt) - 引用计数,只要引用计数 > 0 就被引用。

我很久以前就从某个 MSDN 博客上获取了它,我相信它可能是 Tess' ,但目前我无法准确追踪。 (顺便说一句,如果您热衷于 .net 调试,但还不了解它并且想要使用 Windbg/sos/sosex,那么这里就是学习的地方)。

Alejandro Campos Magencio 还 a fine series of articles使用windbg和sos进行调试;在 part 3您可以找到大多数 GC Handle 类型的定义的一些确认。

关于.net - 有哪些不同的 CLR 句柄类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691674/

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