📄 debug_ext.h
字号:
/* Copyright (c) 2002, Thomas Kurschel Part of Radeon driver Extended debugging functions*/#ifndef __DEBUG_EXT_H__#define __DEBUG_EXT_H__// this is a dprintf wrapper//// there are three kinds of messages:// flow: used to trace execution// info: tells things that are important but not an error// error: used if something has gone wrong//// common usage is // SHOW_{FLOW,INFO,ERROR}( seriousness, format string, parameters... );// SHOW_{FLOW,INFO,ERROR}0( seriousness, string );//// with// seriousness: the smaller the more serious (0..3)// format string, parameters: normal printf stuff//// to specify the module that created the message you have// to define a string called// DEBUG_MSG_PREFIX// you dynamically speficify the maximum seriousness level by defining // the following variables/macros// debug_level_flow// debug_level_info// debug_level_error//// you _can_ statically specify the maximum seriuosness level by defining// DEBUG_MAX_LEVEL_FLOW// DEBUG_MAX_LEVEL_INFO// DEBUG_MAX_LEVEL_ERRROR//// you _can_ ask to delay execution after each printed message // by defining the duration (in ms) via// DEBUG_WAIT_ON_MSG (for flow and info)// DEBUG_WAIT_ON_ERROR (for error)#ifdef DEBUG_WAIT_ON_MSG#define DEBUG_WAIT snooze( DEBUG_WAIT_ON_MSG );#else#define DEBUG_WAIT #endif#ifdef DEBUG_WAIT_ON_ERROR#define DEBUG_WAIT_ERROR snooze( DEBUG_WAIT_ON_ERROR );#else#define DEBUG_WAIT_ERROR#endif#ifndef DEBUG_MAX_LEVEL_FLOW#define DEBUG_MAX_LEVEL_FLOW 4#endif#ifndef DEBUG_MAX_LEVEL_INFO#define DEBUG_MAX_LEVEL_INFO 4#endif#ifndef DEBUG_MAX_LEVEL_ERROR#define DEBUG_MAX_LEVEL_ERROR 4#endif#ifndef DEBUG_MSG_PREFIX#error you need to define DEBUG_MSG_PREFIX with the module name#endif#define FUNC_NAME DEBUG_MSG_PREFIX __FUNCTION__ ": "#define SHOW_FLOW(seriousness, format, param...) \ do { if( seriousness <= debug_level_flow && seriousness <= DEBUG_MAX_LEVEL_FLOW ) { \ dprintf( "%s"##format"\n", FUNC_NAME, param ); DEBUG_WAIT \ }} while( 0 )#define SHOW_FLOW0(seriousness, format) \ do { if( seriousness <= debug_level_flow && seriousness <= DEBUG_MAX_LEVEL_FLOW ) { \ dprintf( "%s"##format"\n", FUNC_NAME); DEBUG_WAIT \ }} while( 0 )#define SHOW_INFO(seriousness, format, param...) \ do { if( seriousness <= debug_level_info && seriousness <= DEBUG_MAX_LEVEL_INFO ) { \ dprintf( "%s"##format"\n", FUNC_NAME, param ); DEBUG_WAIT \ }} while( 0 )#define SHOW_INFO0(seriousness, format) \ do { if( seriousness <= debug_level_info && seriousness <= DEBUG_MAX_LEVEL_INFO ) { \ dprintf( "%s"##format"\n", FUNC_NAME); DEBUG_WAIT \ }} while( 0 )#define SHOW_ERROR(seriousness, format, param...) \ do { if( seriousness <= debug_level_error && seriousness <= DEBUG_MAX_LEVEL_ERROR ) { \ dprintf( "%s"##format"\n", FUNC_NAME, param ); DEBUG_WAIT_ERROR \ }} while( 0 )#define SHOW_ERROR0(seriousness, format) \ do { if( seriousness <= debug_level_error && seriousness <= DEBUG_MAX_LEVEL_ERROR ) { \ dprintf( "%s"##format"\n", FUNC_NAME); DEBUG_WAIT_ERROR \ }} while( 0 )#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -