Профилирование памяти в Visual Studio 2013

Я хочу изучить, как распределена память в моем приложении. У меня есть консольное приложение С# и я использую Visual Studio 2013 Professional.

Я перехожу к Анализировать Perfomance and Diagnostics и выбранному распределению памяти .NET

enter image description here

В результате я получаю следующее резюме:

enter image description here

В графике использования ЦП (%) за время. Но как я могу выделить выделение памяти за время и события GC? Я не могу найти его здесь.

Ответ 1

Я прочитал в блоге msdn, что этот инструмент проверки не ориентирован на проверку утечки памяти, поэтому нет таких функций, которые планируются для будущих версий. Это предназначено для крупных проверок кучи.

http://blogs.msdn.com/b/dotnet/archive/2013/04/04/net-memory-allocation-profiling-with-visual-studio-2012.aspx

было около 2012 года, но кажется, что тонны еще не изменены.

Ответ 2

Добавляя к ответу @L.Trabacchin, вы должны взглянуть на dotMemory (ранее dotTrace Memory, см. в нижней части этой страницы) из JetBrains. Там пробная версия, и из моего личного опыта я не могу рекомендовать ее достаточно; это невероятно полезный инструмент.

Ответ 3

Это сообщение в блоге дает информацию о том, как анализировать утечки памяти, анализируя файлы дампа в VS 2013, но имеет несколько требований, которые выделены ниже. http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/20/using-visual-studio-2013-to-diagnose-net-memory-issues-in-production.aspx

Чтобы использовать функцию "Отладка управляемой памяти", обсуждаемую в этом сообщении:

  • Этот параметр доступен только на странице сводки дампа в Окончательной версии Visual Studio 2013. Если вы используете Premium или Professional, вы не увидите вариант
  • Процесс, с которым был собран файл дампа, должен выполняться на .NET 4.5 или выше. Если дамп был собран в 3.5 или предыдущий, опция не появится, если она была собрана в 4.0, она не будет запущена с сообщением об ошибке.