Форум программистов, компьютерный форум CyberForum.ru

Утечка памяти - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.82
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
09.05.2010, 19:32     Утечка памяти #1
Доброго времени суток! Столкнулся с проблемой утечки памяти! Будь у меня маленькая программка, выловил бы легко, но в 2000 строк кода все не так просто(((... Долго гуглил, нашел 2 варианта решения проблем, или с помощью левого софта на изучение которого с моим английским(( уйдет многовато времени, или перегружать функции new и delete, на написание коих уйдет время, а до завтра мне необходимо уже выловить ошибку... Я примерно знаю, где она может быть, но чтоб убедиться мне нужна какая то утилитка или хз что, которая сможет показать размер программы в байтах, а не в в килобайтах как это делает Диспетчер задач винды, и чтоб я сидя в отладчике смог проконтролировать, где изменяется размер... Никто не подскажет, как это сделать, или же какой то софт для вылавливания этих утечек с инструкцией на русском...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2010, 19:32     Утечка памяти
Посмотрите здесь:

Утечка памяти C++
Утечка памяти?! C++
C++ Утечка памяти
Утечка памяти C++
Утечка памяти C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 19:44     Утечка памяти #2
Есть ли такие утилиты.
Там создавал подобную тему, когда - то.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,308
09.05.2010, 19:59     Утечка памяти #3
Ха, всего-то каких-то 2 тыс.строк? Мелочи...

Если разрабатываешь в MS Visual Studio:
Искать: утилиту Visual Leak Detector (гуглится) - использование крайне просто, сводится к включению одной строки в исходный файл.

Иначе:
Искать утилиту CppCheck (последняя версия у меня - 1.31) - тоже гуглится.

А на дальнейшее - совет: почитай, что такое "умные указатели" и используй их. Благо, теперь они включены и в проект нового Стандарта языка (надеюсь, это будет C++11) и уже поддержаны компиляторами GCC 4.5 и VC++ 2008 (с SP1) - 2010.
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
09.05.2010, 20:03  [ТС]     Утечка памяти #4
Genius Ignat, Спасибо, покопаюсь, но все же если у кого то есть какие то ссылки нормальные, как для новичков, киньте плз...
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
09.05.2010, 20:10     Утечка памяти #5
savak, если в MSVS, то можно и без утилит:
C++
1
2
3
4
5
6
7
8
9
10
11
// Other headers
#include <crtdbg.h>
 
#define new new(_CLIENT_BLOCK, __FILE__, __LINE__)
 
// Other code
 
int main(){
  _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
  // Other code
}
По завершению выполнения программы в режиме отладки, получишь в Output Window отчет по утечкам памяти, если таковые были.
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
09.05.2010, 20:26  [ТС]     Утечка памяти #6
CheshireCat, Умные указатели - вещь! Спаибо, почитаю, погуглю!

Добавлено через 7 минут
CyBOSSeR, Прога с и спользованием Winapi. Я нашел в какой функции утечка, сделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Other headers
#include <crtdbg.h>
 
#define new new(_CLIENT_BLOCK, __FILE__, __LINE__)
 
// Other code
 
 
  while(!done)                                  
    {
        if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))   
        {
            if (msg.message==WM_QUIT)               
            {
                done=TRUE;                          
            }
            else                                    
            {
                TranslateMessage(&msg);             
                DispatchMessage(&msg);              
            }
        }
        else                                    
        {
            if ((active && !DrawGLScene()) || keys[VK_ESCAPE])  
            {
                done=TRUE;                          
            }
            else                                    
            {
                                _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
 
                ps.EulerStep(0.005);  // В этой функции утечка, но она вызывает дофига моих же функий и дальше с помощью диспетчера виноус у меня ничего не вышло обнаружить
                SwapBuffers(hDC);                   
            }
  // Other code
Но вылезло 117 ошибок...((( Когда поставил в точке входа в программу те же 117((
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
09.05.2010, 20:32     Утечка памяти #7
savak, _CrtSetDbgFlag нужно вставить в начале функции входа приложения (main, WinMain). Попробуй и приведи список ошибок компилятора.
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
09.05.2010, 20:47  [ТС]     Утечка памяти #8
List errors
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2365: 'operator new' : redefinition; previous definition was 'function'
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2491: 'new' : definition of dllimport data not allowed
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2078: too many initializers
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2440: 'initializing' : cannot convert from 'int' to 'void *'
1> Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2143: syntax error : missing ';' before '('
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2226: syntax error : unexpected type 'size_t'
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(33) : error C2059: syntax error : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : error C2365: 'operator new' : redefinition; previous definition was 'function'
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : error C2491: 'new' : definition of dllimport data not allowed
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : error C2078: too many initializers
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : error C2440: 'initializing' : cannot convert from 'int' to 'void *'
1> Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : error C2143: syntax error : missing ';' before '['
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : error C3409: empty attribute block is not allowed
1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(36) : error C2226: syntax error : unexpected type 'size_t'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(143) : error C2059: syntax error : 'constant'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(144) : error C2091: function returns function
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(144) : error C2802: static member 'operator new' has no formal parameters
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(144) : error C2333: 'std::locale::facet::operator new' : error in function declaration; skipping function body
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(149) : error C2059: syntax error : 'constant'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(151) : error C2091: function returns function
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(151) : error C2556: 'void *(__cdecl *std::locale::facet::operator new(void))(size_t,const std::_DebugHeapTag_t &,char *,int)' : overloaded function differs only by return type from 'void *(__cdecl *std::locale::facet::operator new(void))(size_t)'
1> c:\program files\microsoft visual studio 9.0\vc\include\xlocale(143) : see declaration of 'std::locale::facet::operator new'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(152) : error C2059: syntax error : 'return'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(152) : error C2238: unexpected token(s) preceding ';'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(155) : error C2628: 'std::locale::facet' followed by 'void' is illegal (did you forget a ';'?)
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(157) : error C2487: 'delete' : member of dll interface class may not be declared with dll interface
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(157) : error C2817: return type for 'operator delete' must be 'void'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(157) : error C2333: 'std::locale::operator delete' : error in function declaration; skipping function body
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(162) : error C2487: 'delete' : member of dll interface class may not be declared with dll interface
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(169) : error C2523: 'std::locale::~facet' : destructor tag mismatch
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(170) : error C2487: '{dtor}' : member of dll interface class may not be declared with dll interface
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(174) : error C2590: 'facet' : only a constructor can have a base/member initializer list
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(174) : error C2487: 'std::locale::{ctor}' : member of dll interface class may not be declared with dll interface
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(186) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(186) : warning C4183: 'facet': missing return type; assumed to be a member function returning 'int'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(187) : error C2143: syntax error : missing ';' before '&'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(187) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(187) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(187) : error C2143: syntax error : missing ',' before '&'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(187) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(119) : error C2327: 'std::locale::_Refs' : is not a type name, static, or enumerator
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(119) : error C2065: '_Refs' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(120) : error C2327: 'std::locale::_Refs' : is not a type name, static, or enumerator
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(120) : error C2065: '_Refs' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(127) : error C2327: 'std::locale::_Refs' : is not a type name, static, or enumerator
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(127) : error C2065: '_Refs' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(127) : error C2327: 'std::locale::_Refs' : is not a type name, static, or enumerator
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(127) : error C2065: '_Refs' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(128) : error C2327: 'std::locale::_Refs' : is not a type name, static, or enumerator
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(128) : error C2065: '_Refs' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(129) : error C2327: 'std::locale::_Refs' : is not a type name, static, or enumerator
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(129) : error C2065: '_Refs' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(163) : error C2059: syntax error : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(197) : error C2504: 'facet' : base class undefined
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(207) : error C2061: syntax error : identifier 'facet'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(222) : error C2061: syntax error : identifier 'facet'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(228) : error C2061: syntax error : identifier 'category'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(231) : error C2061: syntax error : identifier 'category'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(235) : error C2061: syntax error : identifier 'category'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(239) : error C2061: syntax error : identifier 'category'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(241) : error C2143: syntax error : missing ';' before '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(241) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(241) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(243) : error C2146: syntax error : missing ';' before identifier '_Catmask'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(243) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(243) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(212) : error C2065: 'none' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(213) : error C2614: 'std::_Locimp' : illegal member initialization: '_Catmask' is not a base or member
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(213) : error C2614: 'std::_Locimp' : illegal member initialization: '_Facetvec' is not a base or member
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(213) : error C2614: 'std::_Locimp' : illegal member initialization: 'facet' is not a base or member
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(217) : error C2039: '_Catmask' : is not a member of 'std::_Locimp'
1> c:\program files\microsoft visual studio 9.0\vc\include\xlocale(196) : see declaration of 'std::_Locimp'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(218) : error C2614: 'std::_Locimp' : illegal member initialization: '_Catmask' is not a base or member
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(218) : error C2614: 'std::_Locimp' : illegal member initialization: '_Facetvec' is not a base or member
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(218) : error C2614: 'std::_Locimp' : illegal member initialization: 'facet' is not a base or member
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(224) : error C2065: '_Pfacet' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(224) : error C2065: '_Id' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(259) : error C2065: 'facet' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(259) : error C2065: '_Fac' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(259) : error C2275: 'size_t' : illegal use of this type as an expression
1> c:\documents and settings\virex\мои документы\visual studio 2008\projects\coursework2\coursework2\predefined c++ types (compiler internal)(19) : see declaration of 'size_t'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(259) : error C2146: syntax error : missing ')' before identifier '_Id'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(259) : error C2078: too many initializers
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(259) : error C2275: 'size_t' : illegal use of this type as an expression
1> c:\documents and settings\virex\мои документы\visual studio 2008\projects\coursework2\coursework2\predefined c++ types (compiler internal)(19) : see declaration of 'size_t'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(260) : error C2059: syntax error : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(261) : error C2143: syntax error : missing ';' before '{'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(261) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(286) : error C2270: '()' : modifiers not allowed on nonmember functions
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(286) : error C2801: 'std::operator ()' must be a non-static member
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(304) : error C2270: 'combine' : modifiers not allowed on nonmember functions
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(307) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(307) : error C2904: 'locale' : name already used for a template in the current scope
1> c:\program files\microsoft visual studio 9.0\vc\include\xlocale(62) : see declaration of 'std::locale'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(323) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(323) : error C3861: '_Init': identifier not found
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(324) : error C2550: 'std::locale' : constructor initializer lists are only allowed on constructor definitions
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(325) : error C2227: left of '->_Incref' must point to class/struct/union/generic type
1> type is ''unknown-type''
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(325) : error C3861: '_Getgloballocale': identifier not found
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(326) : warning C4508: 'std::locale' : function should return a value; 'void' return type assumed
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(329) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(330) : warning C4508: 'std::locale' : function should return a value; 'void' return type assumed
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(332) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(332) : error C2143: syntax error : missing ',' before '&'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(333) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(333) : error C2065: '_Right' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(333) : error C2228: left of '._Ptr' must have class/struct/union
1> type is ''unknown-type''
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(334) : error C2550: 'std::locale' : constructor initializer lists are only allowed on constructor definitions
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(335) : error C2227: left of '->_Incref' must point to class/struct/union/generic type
1> type is ''unknown-type''
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(336) : warning C4508: 'std::locale' : function should return a value; 'void' return type assumed
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(338) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(338) : error C2143: syntax error : missing ',' before '&'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C2084: function 'int std::locale(const int) throw()' already has a body
1> c:\program files\microsoft visual studio 9.0\vc\include\xlocale(332) : see previous definition of 'locale'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C2061: syntax error : identifier '_DebugHeapTag_func'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C2612: trailing 'identifier' illegal in base/member initializer list
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C2550: 'std::locale' : constructor initializer lists are only allowed on constructor definitions
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C2065: '_Loc' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C2228: left of '._Ptr' must have class/struct/union
1> type is ''unknown-type''
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(340) : error C2059: syntax error : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(341) : error C2143: syntax error : missing ';' before '{'
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(343) : error C2065: '_Loc' : undeclared identifier
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(343) : error C2228: left of '._Ptr' must have class/struct/union
1> type is ''unknown-type''
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(343) : error C2227: left of '->_Catmask' must point to class/struct/union/generic type
1>c:\program files\microsoft visual studio 9.0\vc\include\xlocale(343) : error C2065: '_Loc' : undeclared identifier


эмммм.. вотъ
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
09.05.2010, 21:01     Утечка памяти #9
savak, по ходу, ты что то не туда куда надо вставил. Должно все работать.
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
09.05.2010, 21:19  [ТС]     Утечка памяти #10
C++
1
2
3
4
5
6
7
8
#include <windows.h>        
#include <GL\gl.h>
#include <GL\glu.h>
#include <tchar.h>
#include <time.h>
#include <crtdbg.h>
 
#define new new(_CLIENT_BLOCK, __FILE__, __LINE__)

C++
1
2
3
4
5
6
int WINAPI WinMain( HINSTANCE   hInstance,          
                    HINSTANCE   hPrevInstance,      
                    LPSTR       lpCmdLine,          
                    int         nCmdShow)           
{
    _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
вот так вставил...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2010, 21:22     Утечка памяти
Еще ссылки по теме:

C++ Утечка памяти в
Утечка памяти C++
C++ Утечка памяти

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
09.05.2010, 21:22     Утечка памяти #11
Утечка памяти может так же происходить, если забыть освобождать хендлы, контексты и т. д.
Yandex
Объявления
09.05.2010, 21:22     Утечка памяти
Ответ Создать тему
Опции темы

Текущее время: 03:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru