如何查看特定托管 C# 引用类型的内存大小和布局?

How to view the memory size and layout of a specific managed C# reference type?

我想要一些工具或方法来查看特定 C# 托管引用类型(包括其所有实例字段)在内存中的大小和布局。显然这是一个实现细节,我的程序本身不需要知道它,但我,人类程序员,想了解 CLR 如何组织我的某些 C# 类 的实际内存布局用于目的优化和好奇心。 (我已阅读文章并了解有关 C# 对象内存布局的高级理论,但我想看看 CLR 实际上是如何在实践中实现的。)

如果重要的话,我正在使用 .NET 6。

SOS Debugging Extension 有一个 DumpClass 命令。这会转储有关类型的 EEClass 结构的信息,其中包括例如每个字段位于什么偏移量。