59 lines
1.6 KiB
C++
59 lines
1.6 KiB
C++
//
|
|
// Debugging information header
|
|
// Copyright (c) Microsoft Corporation, 1997
|
|
//
|
|
|
|
//
|
|
// header: debug.hxx
|
|
// author: silviuc
|
|
// created: Thu Jun 05 18:34:28 1997
|
|
//
|
|
|
|
#ifndef _DEBUG_HXX_INCLUDED_
|
|
#define _DEBUG_HXX_INCLUDED_
|
|
|
|
//
|
|
// This debugging header should be included in every module of a project
|
|
// in which debugging information is required.
|
|
// The module that will contain definitions from `debug.hxx'
|
|
// should contain the following definition before the inclusion:
|
|
//
|
|
// #define DEBUGINFO_DEFINITION_MODULE
|
|
//
|
|
// The main purpose is to offer some global values that can be queried
|
|
// after a debug break, especially a non-source level debugger (kdbg, ntsd).
|
|
// This is a very natural thing to do for programs in stress environments
|
|
// where you usually debug the test through a kernel debugger.
|
|
//
|
|
|
|
//
|
|
// DEFINE_DEBUGINFO_VARIABLE (name, type, default)
|
|
//
|
|
// Defines a variable having a name starting with `debuginfo'.
|
|
//
|
|
|
|
#ifdef DEBUGINFO_DEFINITION_MODULE
|
|
#define DEFINE_DEBUGINFO_VARIABLE(name, type, default) \
|
|
type debuginfo_##name = default
|
|
#else
|
|
#define DEFINE_DEBUGINFO_VARIABLE(name, type, default) \
|
|
extern type debuginfo_##name = default
|
|
#endif // #ifdef DEBUGINFO_DEFINITION_MODULE
|
|
|
|
|
|
//
|
|
// Here come the definitions of debug variables ...
|
|
//
|
|
// Example: DEFINE_DEBUGINFO_VARIABLE (status, char *, "alive");
|
|
//
|
|
|
|
DEFINE_DEBUGINFO_VARIABLE (status, char *, "alive");
|
|
|
|
|
|
// ...
|
|
#endif // #ifndef _DEBUG_HXX_INCLUDED_
|
|
|
|
//
|
|
// end of header: debug.hxx
|
|
//
|