myassert.h

来自「将exe等可执行文件转化成c程序的反编译程序,先到汇编再到c」· C头文件 代码 · 共 37 行

H
37
字号
#ifdef _DEBUG

#define VERIFY_ISWRITEPOINTER(a)		{ if(::IsBadWritePtr(a, sizeof(LPDWORD))) \
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid write pointer\r\n"));}}
#define VERIFY_ISREADPOINTER(a)		{ if(::IsBadReadPtr(a, sizeof(LPDWORD)))\
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid read pointer\r\n"));}}

#define VERIFY_ISWRITEDATA(a, l)		{ if(::IsBadWritePtr(a, l)) \
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid write area\r\n"));}}
#define VERIFY_ISREADDATA(a, l)		{ if(::IsBadReadPtr(a, l))  \
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid read area\r\n"));}}

#define ASSERT_ISWRITEPOINTER(a)		{ if(::IsBadWritePtr(a, sizeof(LPDWORD))) \
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid write pointer\r\n")); ASSERT(false);}}
#define ASSERT_ISREADPOINTER(a)		{ if(::IsBadReadPtr(a, sizeof(LPDWORD)))  \
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid read pointer\r\n")); ASSERT(false);}}

#define ASSERT_ISWRITEDATA(a, l)		{ if(::IsBadWritePtr(a, l)) \
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid write area\r\n")); ASSERT(false);}}
#define ASSERT_ISREADDATA(a, l)		{ if(::IsBadReadPtr(a, l))  \
			{ ::OutputDebugString(_T("Parameter ") _T(#a) _T(" is not a valid read area\r\n")); ASSERT(false);}}

#else

#define VERIFY_ISWRITEPOINTER(a)
#define VERIFY_ISREADPOINTER(a)	

#define VERIFY_ISWRITEDATA(a, l)
#define VERIFY_ISREADDATA(a, l)	

#define ASSERT_ISWRITEPOINTER(a)
#define ASSERT_ISREADPOINTER(a)

#define ASSERT_ISWRITEDATA(a, l)
#define ASSERT_ISREADDATA(a, l)

#endif

⌨️ 快捷键说明

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