| 
![]() ![]() |
||
|---|---|---|
Самый простой способ проверки утечки ресурсов вашим приложением.Самый простой способ проверить утечку ресурсов, написанной вами программы это использовать программу "Windows Task Manager"(taskmgr.exe). Данный способ применим только на ядре NT подобном, это такие ОС, как Windows Nt, 2000, XP и т.д. ![]() Запускаете программу(taskmgr.exe), выбираете в TAB control-е TAB Processes. По умолчанию в статистике мало данных, поэтому заходим в меню View->Select Columns..., где выбираем нужные нам параметры для мониторинга, например, такие как CPU Usage(использование процессора), Memory Usage(использование памяти), USER Objects(число занятых приложением пользовательских ресурсов), Handle Count(число хэндлов), Thread Count(число потоков), GDI Objects(графические объекты). После того как их выбрали в статистике они должны отобразиться. Теперь запускаем программу, которую мы хотим проверить и следим за потребляемыми ресурсами, сравнивая параметры до и после производимых вами действий, например, запускаем диалог какой-нибудь, под него выделяются какие-то ресурсы, после выхода они должны восстановиться, а параметры вернуться в исходное состояние, если конечно так было задумано, и т.д. Если параметры не восстановились, значит налицо утечка ресурсов и после 100-300 таких запусков диалога, операционная система может зависнуть, либо ваше приложение вылетит. Если после запуска программы использование каких-то ресурсов продолжает увеличиваться, то надо просмотреть ещё раз алгоритм и выявить из-за чего это может происходить. Какие проблемы поможет решить данный способ, это зависание компьютера при использовании всех имеющихся ресурсов компьютера, это появление ошибок при запуске новых программ о нехватке памяти или ресурсов. Это самый простой способ, есть ещё способы это использовать специальное программное обеспечение, например, Sleuth QA Suite 3, которое для этого и создано и не только для этого, либо вставить в свой код специальные ловушки от Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvc60/html/memleaks.asp | ||
![]() ![]() |
||
| 