2013-07-22 1 views
0

Цель моего приложения - отменить шум. Когда я бегу непрерывно и наблюдаю за использованием памяти с помощью Process Explorer, я замечаю, что частные байты медленно увеличиваются, например, с 11,8 МБ до 13 МБ и так далее.Объем памяти в частных базах увеличивается в течение периода времени

Мой коллега сказал мне, что он поднимается до 1 ГБ, и приложение падает.

Как я могу решить эту проблему? Я написал это приложение на C++.

+0

Поиск плагина вызова «Детектор утечки памяти» – Twifty

+1

Попробуйте valingaurd. –

+0

Вам нужно держать под контролем память, в которой используются ваши структуры данных, и удаление ненужных данных, находящихся в памяти. Достижение от нескольких МБ до 1 ГБ - своеобразная сделка – kkanellis

ответ

0

Для этого не требуется быстрое исправление, особенно в C + + памяти - это то, что вам нужно практиковать на протяжении всего процесса разработки, а не пощечину в конце. И поскольку это может быть практически в любом месте вашего кода (каламбур не предназначен), здесь не очень удобно размещать код.

Мой единственный совет - искать использование оператора new и следить за тем, чтобы он сопровождал delete. Также используйте модульные тесты для ваших классов/функций/и т. Д. может помочь сузить проблему.

Удачи.

+0

Большое спасибо. Я буду учитывать это. Большое спасибо. –

0

Вы можете взять «UMDH» из «Инструменты отладки для Windows». Благодаря этому вы можете использовать встроенную поддержку Windows, чтобы найти утечки памяти.

Для получения дополнительной информации см Using UMDH to Find a User-Mode Memory Leak

Смотри также: UMDH (Windows Debuggers

Вы должны загрузить Debugging Tools for Windows с SDK или DDK. Вы также можете загрузить более старую версию с MSDN Archive, которой должно быть достаточно для использования UMDH.