Автор Тема: VC++ Memory Leak  (Прочитано 3847 раз)

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
VC++ Memory Leak
« : 14 Марта 2008, 10:25:13 »
Народ кто чем пользуется для устранения утечек памяти.
Наткнулся в инете на DeLeaker но не могу найти серийник для него (да мне стыдно).

Мож у кого есть аналоги для анализа дебажного экзешника хорошие?

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #1 : 14 Марта 2008, 18:37:24 »
Нету Сишников тут что ли :(

Оффлайн tier

  • Продвинутый
  • *****
  • Сообщений: 1743
  • Карма: +244/-4
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #2 : 14 Марта 2008, 19:06:44 »
не ленись.
набери www.google.com
Respect my authoritah!

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #3 : 14 Марта 2008, 19:49:55 »
Набрал. Скачал. Но не могу найти серийник.
И поэтому интересно кто чем пользуется.

Оффлайн tier

  • Продвинутый
  • *****
  • Сообщений: 1743
  • Карма: +244/-4
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #4 : 14 Марта 2008, 20:00:49 »
Вот это я и предлагал поискать в гугле.
http://www.codenet.ru/progr/cpp/memleaks.php
http://www.opennet.ru/openforum/vsluhforumID9/1720.html
Respect my authoritah!

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #5 : 14 Марта 2008, 23:36:16 »
хех, я имел ввиду утилиты встраиваемые
Например про ту что я писал. Я ей немного недоверяю. Она утверждает что в

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));

на каждом проходе пика есть утечка. А я её не вижу, ибо ещё приложение не многопоточное...  :-\

Оффлайн tier

  • Продвинутый
  • *****
  • Сообщений: 1743
  • Карма: +244/-4
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #6 : 14 Марта 2008, 23:51:19 »
На богомерзких плюсах не пишу. С этим кодом не помогу.
А вообще - открой для себя valgrind вместо каких-то GUI-шных прог, которые еще и крякать надо...
Respect my authoritah!

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #7 : 15 Марта 2008, 00:07:46 »
По мне 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)

Оффлайн tier

  • Продвинутый
  • *****
  • Сообщений: 1743
  • Карма: +244/-4
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #8 : 15 Марта 2008, 01:34:11 »
Там все очевидно. Показано, сколько памяти съедает вызов такой-то функции из такой-то dll.
А ты уже анализируй эти данные и думай, почему так и что нужно исправить. Програмы которая за тебя бы твой код переписала - нету.
Но, вообще, я в виндовых особенностях работы с библиотеками ничего не понимаю, в винде и для винды ничего не делаю.
Respect my authoritah!

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: VC++ Memory Leak
« Ответ #9 : 15 Марта 2008, 09:34:57 »
О здорова. А под что пишешь?
Я за свою жизнь писал только один раз под Linux и то на Кайликсе.
А так по работе пишу токапод мобильные игровые платформы от консолей.
А по поводу того примерчика, меня в шок опровергает то, что все вызовы Апишные, не мои, то есть выдраннные из Кернел32.  :-\ Из моего только ПикМесседж в который я сую даже не область памяти а существующий адрес стат переменной. Короче байда какая то.