summaryrefslogtreecommitdiff
path: root/plugins/SMS/src/AdditionalFunctions/DebugFunctions.h
blob: 8b21d1bc5ab40187130c5b1c0f91235f09e3e925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#if !defined(AFX_DEBUG_FUNCTIONS__H__INCLUDED_)
#define AFX_DEBUG_FUNCTIONS__H__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef szCRLF
#define szCRLF						TEXT("\r\n")
#endif
//////////////////////////////////////////////////////////////////////////
////////////////////////////DebugPrint////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// DebugBuildPrint(Helo world);
// Îòîáðàæåíèå òåêñòà â Debug îêíå âî âðåìÿ îòëàäêè
#ifdef _DEBUG
	#define DebugPrintA(szText) OutputDebugStringA((szText))
	#define DebugPrintW(szText) OutputDebugStringW((szText))
	#define DebugPrintCRLFA(szText) OutputDebugStringA((szText));OutputDebugStringA("\r\n")
	#define DebugPrintCRLFW(szText) OutputDebugStringW((szText));OutputDebugStringW(L"\r\n")
#else
	#define DebugPrintA(szText)
	#define DebugPrintW(szText)
	#define DebugPrintCRLFA(szText)
	#define DebugPrintCRLFW(szText)
#endif //_DEBUG


#ifdef UNICODE
	#define DebugPrint DebugPrintW
	#define DebugPrintCRLF DebugPrintCRLFW
#else
	#define DebugPrint DebugPrintA
	#define DebugPrintCRLF DebugPrintCRLFA
#endif
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////




//////////////////////////////////////////////////////////////////////////
////////////////////////////DebugBuildPrint///////////////////////////////
//////////////////////////////////////////////////////////////////////////
// #pragma DebugBuildPrint(Helo world);
// Îòîáðàæåíèå ñîîáùåíèé â Build îêíå âî âðåìÿ êîìïèëÿöèè
#ifdef _DEBUG
	#pragma warning(disable:4081)
	#define chSTR2(x)	#x
	#define chSTR(x)	chSTR2(x)
	#define DebugBuildPrint(szText) message(__FILE__ "(" chSTR(__LINE__) "): " #szText)
	#pragma warning(default:4081)
#else
	#define DebugBuildPrint(szText)
#endif //_DEBUG
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////




//////////////////////////////////////////////////////////////////////////
////////////////////////////DebugBufferFill///////////////////////////////
//////////////////////////////////////////////////////////////////////////
// DebugBufferFill(szString,sizeof(szString));
// Ïîëíîñòüþ çàïîëíÿåò ïåðåäàííûé áóôôåð ñèìâîëîì "A", ïðèìåíÿåòñÿ
// äëÿ âûõîäíîãî áóôôåðà íà âõîäå â ôóíêöèþ.
#ifdef _DEBUG
	#define DebugBufferFill(lpBuffer,dwSize) memset(lpBuffer,'A',dwSize)
#else
	#define DebugBufferFill(lpBuffer,dwSize)
#endif //_DEBUG
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////




//////////////////////////////////////////////////////////////////////////
////////////////////////////DebugBreak////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// DebugBreak();
// Òî÷êà îñòàíîâà, áîëåå óäîáíàÿ àëüòåðíàòèâà API
#if defined(_DEBUG) && defined(_X86_)
	#define DebugBreak() _asm{int 3}
#else
	#define DebugBreak()
#endif //_DEBUG
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////






#endif // !defined(AFX_DEBUG_FUNCTIONS__H__INCLUDED_)