📄 debug.h
字号:
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-1999 Microsoft Corporation
Module Name:
Debug.h
Abstract:
Header file for debug registration.
Revision History:
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// BEGIN INCLUDES
//
// standard includes:
//
//#include <windows.h>
//
// where we can find declaration for main class in this file:
//
//
//
// where we can find declarations needed in this file:
//
//
// END INCLUDES
//////////////////////////////////////////////////////////////////////////////
#ifndef _DEBUG_H_
#define _DEBUG_H_
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
Setup up debug zones
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
void __cdecl
ZoneDbgPrintf(PTCHAR pszFormat, ...);
#define MODNAME TEXT("IDSCX5530: ")
#define DBG_BIT(bitno) (1<<(bitno))
#define ZONE_ERROR DEBUGZONE(0)
#define ZONE_WARNING DEBUGZONE(1)
#define ZONE_ENTER DEBUGZONE(2)
#define ZONE_INIT DEBUGZONE(3)
#define ZONE_INFO DEBUGZONE(4)
#define ZONE_IOCTL DEBUGZONE(5)
#define ZONE_REFCOUNT DEBUGZONE(6)
#define ZONE_RESOURCES DEBUGZONE(7)
#define ZONE_CRITSEC DEBUGZONE(8)
#define ZONE_MIXER DEBUGZONE(9)
#define ZONE_MIXERROR DEBUGZONE(10)
#define ZONE_PERF DEBUGZONE(14)
#define ZONE_TEMP DEBUGZONE(15)
#ifdef INSTANTIATE_DEBUG
DBGPARAM dpCurSettings =
{
MODNAME,
{
TEXT("Errors"), // 0
TEXT("Warnings"), // 1
TEXT("Enter,Exit"), // 2
TEXT("Initialize"), // 3
TEXT("Info"), // 4
TEXT("IOCTL"), // 5
TEXT("RefCount"), // 6
TEXT("Resources"), // 7
TEXT("Critical Sections"), // 8
TEXT("Mixer"), // 9
TEXT("Undefined"), // 10
TEXT("Undefined"), // 11
TEXT("Undefined"), // 12
TEXT("Undefined"), // 13
TEXT("Performance"), // 14
TEXT("Temporary tests") // 15
},
// 0x0000
// 0xffff // Show everything
0x00ff // Show everything but mixer messages
// 0x0001 | 0x0002 // Errors and warnings
// 0x0001 | 0x0002 | 0x8000 // Errors, warnings, and temporary messages
// 0x0001 | 0x0002 | 0x8000 | 0x0200 // Errors, warnings, temporary and mixer messages
// 0x0001 | 0x0002 | 0x0040 // Errors, warnings, and refcount
// 0x0001 | 0x0002 | 0x8000 | 0x4000 // Errors, warnings, temporary messages, and perf
};
#else
extern DBGPARAM dpCurSettings;
#endif // INSTANTIATE_DEBUG
#define ERRMSG(str) RETAILMSG(ZONE_ERROR|ZONE_INFO, (MODNAME TEXT("ERROR ")TEXT( str )TEXT("\r\n")))
#define ERRMSG1(str, x1) RETAILMSG(ZONE_ERROR|ZONE_INFO, (MODNAME TEXT("ERROR ")TEXT( str )TEXT("\r\n"), x1))
#define ERRMSG2(str, x1, x2) RETAILMSG(ZONE_ERROR|ZONE_INFO, (MODNAME TEXT("ERROR ")TEXT( str )TEXT("\r\n"), x1, x2))
#define ERRMSG3(str, x1, x2, x3) RETAILMSG(ZONE_ERROR|ZONE_INFO, (MODNAME TEXT("ERROR ")TEXT( str )TEXT("\r\n"), x1, x2, x3))
//#define ALL_MESSAGES
#ifdef ALL_MESSAGES
#define DMSG RETAILMSG
#else
#define DMSG DEBUGMSG
#endif
#define INFMSG(str) DMSG(ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n")))
#define INFMSG1(str, val) DMSG(ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), val))
#define INFMSG2(str, val1, val2) DMSG(ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), val1, val2))
#define INFMSG3(str, v1, v2, v3) DMSG(ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), v1, v2, v3))
#define MIXMSG(str) DMSG(ZONE_MIXER, (MODNAME TEXT( str )TEXT("\r\n")))
#define MIXMSG1(str, val) DMSG(ZONE_MIXER, (MODNAME TEXT( str )TEXT("\r\n"), val))
#define MIXMSG2(str, val1, val2) DMSG(ZONE_MIXER, (MODNAME TEXT( str )TEXT("\r\n"), val1, val2))
#define MIXMSG3(str, v1, v2, v3) DMSG(ZONE_MIXER, (MODNAME TEXT( str )TEXT("\r\n"), v1, v2, v3))
#define MIXERRMSG(str) RETAILMSG(ZONE_MIXERROR, (MODNAME TEXT( str )TEXT("\r\n")))
#define MIXERRMSG1(str, val) RETAILMSG(ZONE_MIXERROR, (MODNAME TEXT( str )TEXT("\r\n"), val))
#define MIXERRMSG2(str, val1, val2) RETAILMSG(ZONE_MIXERROR, (MODNAME TEXT( str )TEXT("\r\n"), val1, val2))
#define MIXERRMSG3(str, v1, v2, v3) RETAILMSG(ZONE_MIXERROR, (MODNAME TEXT( str )TEXT("\r\n"), v1, v2, v3))
#define FUNCMSG(str) DMSG(ZONE_ENTER|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n")))
#define FUNCMSG1(str, val1) DMSG(ZONE_ENTER|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), val1))
#define FUNCMSG2(str, val1, val2) DMSG(ZONE_ENTER|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), val1, val2))
#define FUNCMSG3(str, val1, val2, val3) DMSG(ZONE_ENTER|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), val1, val2, val3))
#define WARNMSG(str) RETAILMSG(ZONE_WARNING|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n")))
#define WARNMSG1(str, val) RETAILMSG(ZONE_WARNING|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), val))
#define WARNMSG2(str, val1, val2) RETAILMSG(ZONE_WARNING|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), val1, val2))
#define WARNMSG3(str, v1, v2, v3) RETAILMSG(ZONE_WARNING|ZONE_INFO, (MODNAME TEXT( str )TEXT("\r\n"), v1, v2, v3))
#define RETMSG(str) RETAILMSG(1, (MODNAME TEXT( str )TEXT("\r\n")))
#define RETMSG1(str, val) RETAILMSG(1, (MODNAME TEXT( str )TEXT("\r\n"), val))
#define RETMSG2(str, val1, val2) RETAILMSG(1, (MODNAME TEXT( str )TEXT("\r\n"), val1, val2))
#define RETMSG3(str, v1, v2, v3) RETAILMSG(1, (MODNAME TEXT( str )TEXT("\r\n"), v1, v2, v3))
#endif // _DEBUG_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -