回答
你问题的答案是:
不,你不能可惜。 CLR的垃圾收集器以标记,扫描和压缩模式工作,所以在运行之间,没有关于堆的信息(堆的大小或特定类型实例的当前代码除外),这将允许您迭代所有对象它。
监测GC的最佳方法是使用
perfmon
并观察(或记录)CLR memory counters。
+1用于perfmon和CLR内存计数器。 – RichardOD
谢谢你的信息。 – user160677
其实你可以))https://github.com/mumusan/dotnetex/ – Alexus
前段时间我在网上搜索一个相同的问题的答案,但我没有找到任何方式来迭代GC堆编程。
如果您只是为了调试目的而需要查看此信息,则可以启动WinDbg并加载SOS扩展。您可以使用!dumpheap扩展命令精确查看GC堆上的对象。如果有的话,也可以使用dotTrace的内存分析模式。
谢谢谢谢:)非常感谢 – user160677
- 1. 是否有可能通过JSONArray迭代?
- 2. 分享迭代器是否可迭代?
- 3. 是否有可能在Lua中创建迭代器来迭代字典?
- 4. 是否有可能取代每个迭代mule中sessionVariable的值
- 5. 是否有可能在Java中扩展迭代器的功能?
- 6. '迭代器不可忽略'C++堆栈
- 7. 是否有可能迭代所有OutputCache键?
- 8. 是否有可能重启for循环到第一次迭代?
- 9. 是否有可能?(C++)
- 10. Sqlite:是否有可能在sql中迭代选择结果?
- 11. 是否有可能使用boost foreach迭代多个容器?
- 12. 是否有可能同时迭代三个数组?
- 13. 是否有可能在Asp.Net Web服务中迭代循环
- 14. 是否有可能重复循环的迭代?
- 15. 是否有可能迭代两个数组来匹配值?
- 16. 是否有可能迭代MongoDB中的mapReduce
- 17. 是否有可能在Typescript迭代一个常量枚举?
- 18. 是否有可能在JavaScript中迭代导入的模块?
- 19. 是否有可能迭代多个数据集异步BeginExecuteReader?
- 20. 是否有可能将迭代器作为索引返回?
- 21. 是否有像“迭代迭代,如果它有元素,否则...”?
- 22. 是否有可能在x86-64上将代码注入堆栈
- 23. 是否有可能在调试时“看到”C#foreach循环的迭代集合?
- 24. 是否有可能将C代码编译为Javascript代码?
- 25. Python:是否有可能使用标准语法创建一个类可迭代?
- 26. Python:“'Nonetype'是不可迭代的”没有任何迭代
- 27. 是否可以迭代Bootstrap列表?
- 28. 检查一个类是否可迭代
- 29. Django - 是否可以迭代方法?
- 30. 是否有可能取代$ _ POST用$ _FILES
内存分析器是一个非常方便的工具,用于了解内存中的对象。 –
我在哪里可以得到内存分析器? – user160677
http://msdn.microsoft.com/en-us/library/ms979205.aspx –