【发布时间】:2012-02-23 15:59:45
【问题描述】:
不确定这是否可能,但我很好奇,到目前为止我还没有找到任何运气。我想知道是否有人知道从 VS 监视窗口中确定内存中对象大小的方法。显然,分析器可以做到这一点,但从 VS 中快速获取快照会非常方便。这可能吗?
【问题讨论】:
-
Visual Studio 内置了一个分析器,但我不知道如何在不编写自定义内容的情况下在监视窗口中执行此操作。
-
你定义的对象的大小是多少?将使用 BinarySerializer 的对象写入流时获得的大小相同?这意味着对象本身以及它所引用的所有对象。
-
确切地说,对象的大小以及它引用的所有对象。
-
有什么理由需要知道尺寸吗?在 .NET 中找到对象的“确切”大小是非常棘手的——尤其是复杂的。我一直在 WinDbg 中工作,以了解 ASP.NET 应用程序中应用程序和会话缓存数据的大小 - 并且发现这很难做到。我还使用不安全代码、指针和内存映射文件从 .NET 进行直接内存存储/访问 - 并且发现存储和处理复杂对象非常棘手。
-
真的没有什么主要原因,只是想知道是否有可能作为一种方法来处理给定对象的大小(即特定实例或对象的实例往往有多大)。
标签: .net visual-studio visual-studio-2010 memory