我想探索如何在我的应用程序中分配内存。我有 C# 控制台应用程序并使用 Visual Studio 2013 Professional。
我去分析->性能和诊断并选择.NET内存分配
结果,我得到以下摘要:
在图表中每次的 CPU 使用率(%)。但是我怎样才能看到每次分配内存和 GC 事件呢?我在这里找不到。
我想探索如何在我的应用程序中分配内存。我有 C# 控制台应用程序并使用 Visual Studio 2013 Professional。
我去分析->性能和诊断并选择.NET内存分配
结果,我得到以下摘要:
在图表中每次的 CPU 使用率(%)。但是我怎样才能看到每次分配内存和 GC 事件呢?我在这里找不到。
我在 msdn 博客上读到这个检查工具不是面向内存泄漏检查的,所以没有为未来版本计划的这些功能。这适用于大型堆检查。
大约是 2012 年,但似乎仍然没有改变。
添加到@L.Trabacchin 的答案,您应该看看JetBrains 的dotMemory(以前称为dotTrace Memory,见该页底部)。有一个试用版,根据我的个人经验,我不能推荐它。这是一个非常有用的工具。
这篇博客文章提供了有关如何通过分析 VS 2013 中的转储文件来分析内存泄漏的信息,但有一些要求在下面突出显示。 http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/20/using-visual-studio-2013-to-diagnose-net-memory-issues-in-production.aspx
要使用本文中讨论的“调试托管内存”功能: