Re: TaskManager & memory leaks
От: avs.prg Украина  
Дата: 03.05.06 13:48
Оценка: 7 (2)
Здравствуйте, Константин Л., Вы писали:

КЛ>Можно ли доверять тому, что TM показывает относительно занимаемой памяти? Можно ли по его показаниям сказать, что в приложении есть memory leaks?


Если приложение Ваше, то рекомендую пользоваться функциями мониторинга состояния кучи процесса.....получится, что-то типа того....

# ifdef _DEBUG
# include <crtdbg.h>
# endif
.........
int main(....)
{
#ifdef _DEBUG
    HANDLE hDbgFile=CreateFile("leak_memdump.txt",
                                GENERIC_WRITE,
                                FILE_SHARE_READ,
                                NULL,
                                OPEN_ALWAYS,
                                FILE_ATTRIBUTE_NORMAL,
                                NULL);
    _CrtMemState DBGREPORT;   
    _CrtSetReportMode(_CRT_WARN,_CRTDBG_MODE_FILE);
    _CrtSetReportFile(_CRT_WARN,hDbgFile);
    _CrtSetReportMode(_CRT_ERROR,_CRTDBG_MODE_FILE);
    _CrtSetReportFile(_CRT_ERROR,hDbgFile);
    _CrtSetReportMode(_CRT_ASSERT,_CRTDBG_MODE_FILE);
    _CrtSetReportFile(_CRT_ASSERT,hDbgFile);
#endif
................
................
#ifdef _DEBUG
    _CrtMemDumpAllObjectsSince(NULL);
    _CrtMemCheckpoint(&DBGREPORT);
    CloseHandle(hDbgFile);
#endif
    return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.