gpt4 book ai didi

c# - .NET : Monitoring Objects Lifetime (Birth/Death/Memory)

转载 作者:太空狗 更新时间:2023-10-29 21:52:06 25 4
gpt4 key购买 nike

问题:全面了解在应用程序期间创建的 ALL 对象的 birth/death/mem 使用情况的最佳方法是什么一生? (最好有图文报道)

为什么这样的问题:其中,其背后的想法是揭示可能永远不会被垃圾收集器收集或导致内存问题(例如堆/堆栈问题等)的长生命周期对象,并提供有值(value)的信息以有效地管理对象生命周期< br/>
(我实际上只是花了整整一个晚上调试一个多线程应用程序,最终注意到一个“相信被处置/更新”的对象实际上仍然存在并且粉碎了服务器内存。)

VS2010 Performance Wizard & Profiler 可能是一个很好的入门......我偶然发现了几种以编程方式执行此操作的方法,但它涉及单独包装对象(费力而不是代码无缝)

我正在寻找看起来像这样的东西:

Application START[-----------------------------------------------------------]END
Object 1 [---------------------------]
Object 2 [---------------------------]
Object 3 [-----------------------------------------------------]

最佳答案

米卡,

如您所述,您可以使用 VS2010 Profiler(如果您有 Visual Studio Premium 或 Ultimate)。有关详细信息,请参阅 MSDN关于收集“对象生命周期”信息的页面。

请注意,与其他分析模式相比,此分析模式相当重量级,您可能会发现收集的 VSP 文件非常大,除非您有一个相当集中的分析场景。

分析报告将以表格形式显示信息,但您可以将数据复制到 Excel 或您选择的其他程序中以进行进一步分析/制图。

免责声明:我在 Visual Studio 探查器上工作。

关于c# - .NET : Monitoring Objects Lifetime (Birth/Death/Memory),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4473071/

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