Я использовал FastMM (когда работал в Delphi) для поиска и устранения утечек памяти, и я считаю, что это лучший инструмент, который я когда-либо использовал для таких задач.Его было легко настроить, он был легким, простым и точным, и после настройки закомментировать одну строку означало, что она не была запущена, раскомментирование этой строки запустило бы ее и создало отчет.
Таким образом, после добавления в проект я мог в любой момент проверить, не создает ли функция, которую я или кто-либо еще добавил, утечки памяти в считанные секунды.Все, что мне нужно, - это раскомментировать эту единственную строку, запустить приложение, запустить его с помощью моей новой функциональности, и я получу хороший текстовый файл, показывающий мне
- Типы объектов, которые просочились
- Методы/ имена классов, где произошла утечка
- номера строк кода, где произошла утечка
- Размер утечек на каждую отдельную утечку и составил
- и т. д.
Когда я начал работать с .NET и VS2017, я обнаружил, что все инструменты, которые я пробовал (RedGate, .NET Memory Profiler и некоторые другие), похоже, больше ориентированы на приятный внешний вид, чем на функциональность.
Этиинструменты выглядят хорошо, дают хорошие графики и т.д., но все, что мне нужно, это местоположение утечки, чтобы я мог быстро ее исправить.С такими инструментами мне нужно много кликать, расширять древовидные представления или кликать по графику, чтобы найти информацию, которую FastMM отобразил бы в 2-3 строках в сгенерированном текстовом файле.
Я считаю, чтогораздо более эффективный с точки зрения разработки, поскольку он дает мне всю информацию, необходимую для быстрого обнаружения и устранения утечек, по сравнению с .NET Memory Profiler, RedGate и т. д.
Есть ли такой инструмент, как FastMM для Visual Studio /.NET