debugutil.h

来自「概述:数据的纵向收集」· C头文件 代码 · 共 53 行

H
53
字号
/**
 * @file debugutil.h 
 *
 * @brief debugutil.h, v 1.0.0 2005/9/4 1:29:09 sunwang
 *
 * details here.
 * 
 *
 * @author sunwang <sunwangme@hotmail.com>
 */
#ifndef DEBUGUTIL_H 
#define DEBUGUTIL_H

#include <stdio.h>

/**
 * @fn void DebugString( char *format, ... )
 * @brief use OutputDebugString to print debug information when release,null when debug.
 * @param format printf format
 */
#define _DEBUG_STRING
#ifdef _DEBUG_STRING
inline void DebugString( char* prefix,char *format, ... )
{
    char buf[1088]={0};
    //char* prefix="[Patch]";
    strcpy(buf,prefix);
    va_list vl;
    va_start(vl,format);
    _vsnprintf((char*)buf+strlen(prefix),sizeof(buf)-strlen(prefix),format,vl);
    OutputDebugString(buf);
    OutputDebugString("\n");
	//MessageBox(GetActiveWindow(),buf,prefix,MB_OK|MB_ICONWARNING);
}
#else
inline void DebugString( char* prefix,char *format, ... )
{
}
#endif
#define TRACE DebugString

/**
 * @fn ErrorBreak()
 * @brief inject int 3 to code section,so we can run to debugger eg windbg.
 */
#if _DEBUG//1
#define ErrorBreak() __asm int 3
#else
#define ErrorBreak()
#endif

#endif //DEBUGUTIL_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?