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


Использование MemDumperValidator - часть 3


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

 #ifndef _MEMDUMPERVALIDATOR_H

#define _MEMDUMPERVALIDATOR_H

//He включайте этот файл напрямую; вместо него включайте BUGSLAYER.H

#ifndef _BUGSLAYERUTIL_H

#error "Include BUGSLAYERUTIL.H instead of this file directly!"

#endif // _BUGSLAYERUTIL_H

// Включить заголовочный файл CRTDBG.H.

#include "MSJDBG.h"

#ifdef _cplusplus

extern "C" {

#endif // _ _cplusplus

// Эту библиотеку можно использовать только в отладочных построениях.

#ifdef _DEBUG

/////////////////////////////////////////////////////////////

// Директивы typedef для функций вьдачи дампов и проверки корректности

////////////////////////////////////////////////////////////////

// Функция выдачи дампов памяти. Единственный параметр этой функции -

// указатель на блок памяти. Эта функция выводит данные блока памяти

// одним из нескольких доступных ей способов, но, для того чтобы быть

// состоятельной, она использует механизм формирования отчетов,

// которым пользуется остальная часть DCRT-библиотеки.

typedef void (*PFNMEMDUMPER)(const void *);

// Функция проверки корректности (validating function).

//Ее первый параметр — блок памяти,

// корректность которого нужно проверить, а второй — контекстная

// информация, пересылаемая в функцию ValidateAllBlocks function.

typedef void (*PFNMEMVALIDATOR)(const void *, const void *);

////////////////////////////////////////////////////////////////

// Полезный макрос

////////////////////////////////////////////////////////////////

// Макрос, используемый для установки значения подтипа Client-блока.

// Использование этого макроса — единственное санкционированное средство

// установки значения поля dwValue в структуре DVINFO (см. ниже).

tdefine CLIENT_BLOCK_VALUE(x) (_CLIENT_BLOCK|(x«16))

// Макрос для выбора подтипа

Idefine CLIENT_BLOCK_SUBTYPE(х) ((х » 16) & 0xFFFF)

/////////////////////////////////////////////////////////////




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



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