Re[10]: Проблема с отловом утечек памяти
От: mentor Россия  
Дата: 20.08.04 17:59
Оценка:
Здравствуйте, IamLexa, Вы писали:

IL>а чего гадать? номер неосвобожденного блока тебе в логе пишут.

IL>поэтому можно поставить условный breakpoint в файле dbgheap.c в функции _heap_alloc_dbg:

IL>
IL>431:       pHead->pBlockHeaderNext = _pFirstBlock;
IL>432:       pHead->pBlockHeaderPrev = NULL;
IL>433:       pHead->szFileName = (char *)szFileName;
IL>434:       pHead->nLine = nLine;
IL>435:       pHead->nDataSize = nSize;
IL>436:       pHead->nBlockUse = nBlockUse;
IL>437:       pHead->lRequest = lRequest; // <--- здесь! lRequest -- это номер блока
IL>


IL>условный breakpoint типа "lRequest = 777".

IL>Поэтому после запуска программы останавливаешься в момент выделения этого блока -- а потом выясняешь, почему ты его не удалил.

IL>PS. dbgheap.cpp лежит в каталоге Visual Studio Dir\Vc7\crt\src\dbgheap.c


А можно глупый вопрос, как туда бряк поставить, вроде в проект его не добавить. Разьясните поподробней или дайте плз ссылочку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.