Форум.orn
HARD&SOFT => Программы => Тема начата: Романтик от 14 Марта 2008, 10:25:13
-
Народ кто чем пользуется для устранения утечек памяти.
Наткнулся в инете на DeLeaker но не могу найти серийник для него (да мне стыдно).
Мож у кого есть аналоги для анализа дебажного экзешника хорошие?
-
Нету Сишников тут что ли :(
-
не ленись.
набери www.google.com
-
Набрал. Скачал. Но не могу найти серийник.
И поэтому интересно кто чем пользуется.
-
Вот это я и предлагал поискать в гугле.
http://www.codenet.ru/progr/cpp/memleaks.php
http://www.opennet.ru/openforum/vsluhforumID9/1720.html
-
хех, я имел ввиду утилиты встраиваемые
Например про ту что я писал. Я ей немного недоверяю. Она утверждает что в
MSG msg;
while (true)
{
if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT) break;
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}//while
return(int(msg.wParam));
на каждом проходе пика есть утечка. А я её не вижу, ибо ещё приложение не многопоточное... :-\
-
На богомерзких плюсах не пишу. С этим кодом не помогу.
А вообще - открой для себя valgrind вместо каких-то GUI-шных прог, которые еще и крякать надо...
-
По мне VC++ самое то.
Как аналог Эклипс, но нужно будет о дебагере позаботицо отдельно.
А так если вернуться к пику, то всё равно не понимаю.
Если шаришь в стеке глянь.
0x014D1EA0 (Heap)
0x7c9105d4
SSSensor.dll!SsDeleteScreenSaverSensor + 5414 bytes
SSSensor.dll!SsDeleteScreenSaverSensor + 4797 bytes
0x7c9011a7
0x7c91cbab
0x7c916178
0x7c9162da
0x7c801bb9
USER32.dll!EnumClipboardFormats + 581 bytes
0x7c90eae3
MSCTF.dll!TF_UninitSystem + 2563 bytes
USER32.dll!IsCharAlphaW + 346 bytes
USER32.dll!IsCharAlphaW + 259 bytes
USER32.dll!EndDialog + 274 bytes
0x7c90eae3
USER32.dll!PeekMessageW + 359 bytes
CEEngine(MemoryFixed).exe!WinMain Line 90 (c:\documents and settings\fhtagn\рабочий стол\ceengine(memoryfixed)\ceengine(memoryfixed)\ceapplication.cpp)
CEEngine(MemoryFixed).exe!__tmainCRTStartup Line 578 (f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c)
CEEngine(MemoryFixed).exe!WinMainCRTStartup Line 403 (f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c)
0x7c816d4f
0x00000000
0x014D1FD0 (Heap)
-
Там все очевидно. Показано, сколько памяти съедает вызов такой-то функции из такой-то dll.
А ты уже анализируй эти данные и думай, почему так и что нужно исправить. Програмы которая за тебя бы твой код переписала - нету.
Но, вообще, я в виндовых особенностях работы с библиотеками ничего не понимаю, в винде и для винды ничего не делаю.
-
О здорова. А под что пишешь?
Я за свою жизнь писал только один раз под Linux и то на Кайликсе.
А так по работе пишу токапод мобильные игровые платформы от консолей.
А по поводу того примерчика, меня в шок опровергает то, что все вызовы Апишные, не мои, то есть выдраннные из Кернел32. :-\ Из моего только ПикМесседж в который я сую даже не область памяти а существующий адрес стат переменной. Короче байда какая то.