This source file includes following definitions.
- JMMCG_REVISION_CONSTANT
- assertlog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include "stdafx.h"
22
23 #ifdef _DEBUG
24
25 # include "AssertToNTLog.hpp"
26 # include "EventLog.hpp"
27
28 #include "../../../core/info.hpp"
29 #include "../../../core/unicode_conversions.hpp"
30
31 # include <string>
32 # include <sstream>
33
34
35
36 JMMCG_REVISION_CONSTANT(_T("$Header: svn+ssh://jmmcg@svn.code.sf.net/p/libjmmcg/code/trunk/libjmmcg/experimental/NT-based/NTSpecific/AssertToNTLog.cpp 2055 2017-05-13 19:35:47Z jmmcg $"))
37
38
39
40 namespace {
41 jmmcg::NTUtils::EventLog NTLog_D87A7F40_F129_11d4_B1AC_0001029FBE99_;
42 }
43
44 inline void __fastcall
45 jmmcg::NTUtils::assertlog(const char *exp, const char *file_name, const unsigned long line) {
46 tstringstream ss;
47 ss<<_T("Debug assertion failed. File: '")<<jmmcg::StringToTString(file_name)
48 <<_T("'. Line: ")<<line
49 <<_T(". Process handle: 0x")<<::GetCurrentProcess()
50 <<_T(". Process ID: ")<<::GetCurrentProcessId()
51 <<_T(". Thread handle: 0x")<<::GetCurrentThread()
52 <<_T(". Thread ID: ")<<::GetCurrentThreadId()
53 <<_T(". Assertion: '")<<jmmcg::StringToTString(exp)<<_T("'.");
54 NTLog_D87A7F40_F129_11d4_B1AC_0001029FBE99_.Log(jmmcg::NTUtils::EventLog::err_error, jmmcg::NTUtils::EventLog::cat_error, ss);
55 exit(255);
56 }
57
58 #endif _DEBUG