Я написал С++ в течение 10 лет. Я столкнулся с проблемами памяти, но они могли быть исправлены с достаточным усилием.
В последние пару лет я писал С#. Я считаю, что у меня все еще много проблем с памятью. Их трудно диагностировать и исправить из-за неопределенности, и потому, что философия С# заключается в том, что вам не придется беспокоиться о таких вещах, когда вы очень определенно делаете.
Одна конкретная проблема, которую я нахожу, заключается в том, что я должен явно распоряжаться и очищать все в коде. Если я этого не сделаю, то профилировщики памяти действительно не помогут, потому что вокруг много плавников, вы не можете найти утечку во всех данных, которые они пытаются вам показать. Интересно, есть ли у меня неправильная идея, или если у меня есть инструмент, не лучший.
Какие стратегии и инструменты полезны для устранения утечек памяти в .NET?