Отладка приложений


Глубокие проверки корректности - часть 4


// для макроса MEMDEBUG нужно создавать собственный макрос-оболочку,

 static DVINFO g_dvOne; 

static DVINFO g_dvTwo; 

void main ( void) 

{

cout « "At start of main\n";

// Инициализация отладки памяти для типа One.

INITIALIZE_MEMDEBUG ( &g_dvOne, DumperOne, ValidatorOne) ;

// Инициализация отладки памяти для типа Two.

INITIALIZE_MEMDEBUG ( Sg_dvTwo, DumperTwo, ValidatorTwo) ;

// Распределить память для класса с новым MEMDEBUG.

TestClass * pstClass;

//pstClass = MEMDEBUG_NEW TestClass;

pstClass = new TestClass;

// Распределить память для двух типов языка С.

char * р = (char*)MEMDEBUG_MALLOC '( &g_dvOne, 10);

strcpy ( р, "VC VC");

SimpleStruct * pSt =

(SimpleStruct*)MEMDEBUG_MALLOC ( Sg_dvTwo,

sizeof ( SimpleStruct));

strcpy ( pSt->szName, "Pam");

strcpy ( pSt->szRank, "CINC");

// Проверить корректность всех блоков в списке.

VALIDATEALLBLOCKS ( NULL);

cout « "At end of main\n";

// Дамп каждого блока будет выведен как часть проверки утечки памяти

 }

 




Начало  Назад  Вперед



Книжный магазин