Re[14]: Проблема с отловом утечек памяти
От: mentor Россия  
Дата: 23.08.04 08:36
Оценка:
Здравствуйте, Trapper, Вы писали:

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


IL>>>Если ты используешь debug-версию C runtime, то этот файл уже в твоем проекте (в libc.lib, libcmt.lib ...)

IL>>>Так что открывай его, ставь бряк и пользуйся.

M>>А если я открываю его, ставлю бряк, а он мне говорит, что бряк будет disabled то это значит, что я не debug-версию использую или что не так файл открываю?


T>Хм.. странно. У меня вообще такого сообщения нет. Даже в релизной версии брекпоинт ставится нормально.


Кстати, по поводу этой ошибки, что нет такой перегрузки оператора new которая принимает 4 параметра. Ты ведь с ней сначала столкнулся...
Мне вот что интересно, в этой статье, что ты приводил написано

Об операторе new придётся позаботиться самостоятельно. В DCRT реализована отладочная версия оператора new:

void *operator new(
    unsigned int cb,
    int nBlockUse,
    const char *szFileName,
    int nLine
);


Необходимо перенаправить все обращения к new на эту версию. Для этого включите в программу следующий фрагмент.

#ifdef _DEBUG
#ifdef _CRTDBG_MAP_ALLOC
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif /* _CRTDBG_MAP_ALLOC */
#endif /* _DEBUG */


Может я неправильно понял, но отладочная версия хочет 4 параметра, а define передает ему только 3. Обьясните, в чем я неправ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.