当前位置:  开发笔记 > 编程语言 > 正文

找出C#中对象使用了多少内存?

如何解决《找出C#中对象使用了多少内存?》经验,为你挑选了1个好方法。

有没有人知道找出一个对象实例占用多少内存的方法?

例如,如果我有以下对象的实例:

TestClass tc = new TestClass();

有没有办法找出实例tc要占用多少内存?

之所以要求是,尽管C#有内置的内存管理,我经常碰到的问题有没有清除的对象的实例(例如,保持的东西轨道列表).

有几个相当不错的内存分析器(如蚂蚁探查),但在多线程环境中是非常难以找出所属的地方,即使有这些工具.



1> Alex Duggleb..:

如果您没有尝试在代码本身中执行此操作,我假设基于您的ANTS参考,请尝试查看CLRProfiler(目前为v2.0).它是免费的,如果您不介意相当简单的UI,它可以提供有价值的信息.它将为您提供各种统计数据的深入概述.我曾经用它作为寻找记忆韭菜的一种工具.

在此处下载:http://www.microsoft.com/downloads/details.aspx?FamilyId = A362781C- 3870-43BE-8926-862B40AA0CD0&displaylang = en

如果您确实希望在代码中执行此操作,则CLR具有您可以使用的分析API.如果您在CLRProfiler中找到信息,因为它使用这些API,您也应该能够在代码中执行此操作.更多信息:http: //msdn.microsoft.com/de-de/magazine/cc300553(en-us).aspx

(它并不像使用WinDbg一样神秘,但要做好准备深入CLR.)

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有