Обнаружение утечек памяти в управляемом приложении метро Win8? - PullRequest
6 голосов
/ 03 апреля 2012

В настоящее время я работаю над игрой метро для Windows 8 с использованием C # и SharpDX. Проект идет хорошо, но в последнее время возникла необходимость начать отслеживать утечки памяти, и я не совсем уверен, с чего начать.

Встроенный профилировщик памяти в Visual Studio 11 еще не работает для приложений метро, ​​WinDBG не может подключиться к приложениям метро (если я не использую его неправильно), и мне трудно найти любая информация о просмотре управляемых выделений в .NET 4.5 для метро.

У кого-нибудь есть опыт с этим? Есть ли хорошее место, чтобы начать искать? Кто-нибудь имел успех с инструментами, помогающими обнаруживать утечки памяти в приложениях метро?

Ответы [ 3 ]

2 голосов
/ 24 мая 2012

Похоже, я действительно мог использовать WinDbg, он просто не работал в инвазивном режиме.Моя вина.

1 голос
/ 03 апреля 2012

Я бы, по крайней мере сейчас, предположил, что утечки памяти не вызваны Metro или SharpDX.

Проверьте это: утечки памяти C #

(Или просто поищите "утечки памяти в C #".)

Как только вы пройдете контрольный список вещей, почерпнутых из приведенной выше ссылки / поискового запроса, перейдите к проверке кода, связанного с SharpDX / Metro. Когда я был молодым, у моей мамы были лучшие рекомендации: «Приведи себя в порядок, когда закончишь играть» Утилизируйте объекты, когда вы закончите с ними, не оставляйте открытые потоки БД, файлов или памяти дольше, чем нужно. Это причина многих утечек памяти, включая мою.

0 голосов
/ 17 апреля 2013

Я предлагаю вам использовать это http://msdn.microsoft.com/en-us/magazine/jj721593.aspx. Существует множество объяснений утечки памяти.

...