⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mydebug.h

📁 不断发送IP地址
💻 H
字号:
#ifndef	__MY_DEBUG_H__
#define	__MY_DEBUG_H__

#include <winnt.h>
#include <Excpt.h>


#define	__ENB_TRY__


extern TCHAR	g_szDebugBuffer[256];
extern void WriteError( char *err);


#ifdef __ENB_TRY__
#define	TRY_BEGIN	__try{
#else
#define	TRY_BEGIN	{
#endif

//				::MessageBox(NULL, g_szDebugBuffer, _T("Except Error"), MB_OK);	


#ifdef __ENB_TRY__
#define	TRY_END		\
}		\
	__except(EXCEPTION_EXECUTE_HANDLER)					\
{													\
				_stprintf ( g_szDebugBuffer,						\
				_T("Except Code=%x%c%cAt Line=%4d File=%s"),\
				GetExceptionCode(),							\
				0x0d, 0x0a,									\
				__LINE__,									\
				__FILE__ );									\
				TRACE("Except:: %s\n",g_szDebugBuffer);						\
				WriteError(g_szDebugBuffer);				\
}

#define	TRY_END1( title )										\
}													\
	__except(EXCEPTION_EXECUTE_HANDLER)					\
{													\
				_stprintf ( g_szDebugBuffer,						\
				_T("Except Code=%x%c%cAt Line=%4d File=%s"),\
				GetExceptionCode(),							\
				0x0d, 0x0a,									\
				__LINE__,									\
				__FILE__ );									\
				TRACE("Except:: %s\n",g_szDebugBuffer);						\
				::MessageBox(NULL, g_szDebugBuffer, title, MB_OK);\
}

#define	TRY_END2( title, msg )									\
			}													\
			__except(EXCEPTION_EXECUTE_HANDLER)					\
{													\
				_stprintf ( g_szDebugBuffer,						\
				_T("Except Code=%x%c%c%s%c%cAt Line=%4d File=%s"),\
				GetExceptionCode(),							\
				0x0d,0x0a,									\
				msg,										\
				0x0d,0x0a,									\
				__LINE__,									\
				__FILE__ );									\
				TRACE("Except:: %s\n",g_szDebugBuffer);						\
				::MessageBox(NULL, g_szDebugBuffer, title, MB_OK);\
}

#define	TRY_END3( title, msg1, msg2 )							\
			}													\
			__except(EXCEPTION_EXECUTE_HANDLER)					\
{													\
				_stprintf ( g_szDebugBuffer,						\
				_T("Except Code=%x%c%c%s%c%c%s%c%cAt Line=%4d File=%s"),\
				GetExceptionCode(),							\
				0x0d,0x0a,									\
				msg1,										\
				0x0d,0x0a,									\
				msg2,										\
				0x0d,0x0a,									\
				__LINE__,									\
				__FILE__ );									\
				TRACE("Except:: %s\n",g_szDebugBuffer);						\
				::MessageBox(NULL, g_szDebugBuffer, title, MB_OK);\
}

#define	TRY_END_EVENT_MSG( title, msg )									\
			}													\
			__except(EXCEPTION_EXECUTE_HANDLER)					\
{													\
				_stprintf ( g_szDebugBuffer,					\
				_T("信息:%s%c%c异常代码=%x%c%c%s%c%c"),		\
				msg,										\
				0x0d,0x0a,									\
				GetExceptionCode(),							\
				0x0d,0x0a );								\
				TRACE("Except:: %s\n",g_szDebugBuffer);			\
				::MessageBox(NULL, g_szDebugBuffer, title, MB_OK);\
}

#else
#define	TRY_END							}
#define	TRY_END1( title )				}
#define	TRY_END2( title, msg )			}
#define	TRY_END3( title, msg1, msg2 )	}
#endif

#ifdef _DBG_OUT	//{
#define	_EXCEPT_OUT_								\
{												\
	if( !g_pDbgFile )							\
	g_pDbgFile = fopen(g_szDbgFile, "a+t" );	\
	if( g_pDbgFile )							\
{											\
	fprintf ( g_pDbgFile,					\
				"Except[%x]:Line:%4d File:%s\n",	\
				GetExceptionCode(),					\
				__LINE__,							\
				__FILE__ );							\
				fclose(g_pDbgFile);						\
				g_pDbgFile = NULL;						\
				g_pDbgFile = fopen(g_szDbgFile, "a+t" );	\
		}											\
		{											\
		sprintf ( g_szDebugBuffer,				\
		"Except[%x]:Line:%4d File:%s\n",	\
		GetExceptionCode(),					\
		__LINE__,							\
		__FILE__ );							\
		AfxMessageBox(g_szDebugBuffer);			\
		}											\
	}
#else	//_DBG_OUT
#define	_EXCEPT_OUT_								\
		{											\
		sprintf ( g_szDebugBuffer,				\
		"Except[%x]:Line:%4d File:%s\n",	\
		GetExceptionCode(),					\
		__LINE__,							\
		__FILE__ );							\
		AfxMessageBox(g_szDebugBuffer);			\
		}											\
//#define	_EXCEPT_OUT_	(void)0;
#endif	//}!_DBG_OUT


#ifdef _DBG_OUT
#define	_CATCH_OUT_								\
	{												\
	if( !g_pDbgFile )							\
	g_pDbgFile = fopen(g_szDbgFile, "a+t" );	\
	if( g_pDbgFile )							\
		{											\
		fprintf ( g_pDbgFile,					\
		"Except:Line:%4d File:%s\n",		\
		__LINE__,							\
		__FILE__ );							\
		fclose(g_pDbgFile);						\
		g_pDbgFile = NULL;						\
		g_pDbgFile = fopen(g_szDbgFile, "a+t" );\
		}											\
		{											\
		sprintf ( g_szDebugBuffer,				\
		"Except:Line:%4d File:%s\n",		\
		__LINE__,							\
		__FILE__ );							\
		AfxMessageBox(g_szDebugBuffer);			\
		}											\
	}
#else
#define	_CATCH_OUT_									\
		{											\
		sprintf ( g_szDebugBuffer,				\
		"Except:Line:%4d File:%s\n",		\
		__LINE__,							\
		__FILE__ );							\
		AfxMessageBox(g_szDebugBuffer);			\
		}											\
//#define	_EXCEPT_OUT_	(void)0;
#endif


#endif	//__MY_DEBUG_H__

⌨️ 快捷键说明

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