From 12c02f064db12d6d94063bf6dd9e4eb80f4252b8 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 월, 11 10월 2021 15:30:00 +0900
Subject: [PATCH] Ongoing60 #3662 CF AOI Review 전설비 알람 발생 조치 - Review History File Mapping 해제 - Review Inner History 다운 현상 예외처리 추가 - Review End 시 Review 다운 현상 예외처리 추가

---
 ReviewSystem/ReviewSystem/stdafx.h |   66 ++++++++++++++++++++++++++++-----
 1 files changed, 56 insertions(+), 10 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/stdafx.h b/ReviewSystem/ReviewSystem/stdafx.h
index e674365..68b06cc 100644
--- a/ReviewSystem/ReviewSystem/stdafx.h
+++ b/ReviewSystem/ReviewSystem/stdafx.h
@@ -38,6 +38,9 @@
 #include "CHReviewResult/GlassResult.h"
 #include "CHReviewSetting/MotorParameter.h"
 
+#include <DbgHelp.h> 
+#pragma comment ( lib, "DbgHelp" )
+
 #include <WinNetWk.h>
 //#pragma comment(lib,"Mpr.lib")
 
@@ -74,17 +77,34 @@
 #define ID_TIMER_SEND_SIGNAL_ALIVE			(WM_USER + 107)
 
 
-#define _REVIEW_SERVER_BASE_PATH_					_T("C:\\DIT_Review")
-#define _REVIEW_SERVER_LOG_PATH_					_T("C:\\DIT_Review\\ReviewServerLog")
-#define _REVIEW_RECIPE_PATH_						_T("C:\\DIT_Review\\Recipe")
-#define _REVIEW_REF_RECIPE_PATH_					_T("C:\\DIT_Review\\Recipe\\Reference")
-#define _REVIEW_SERVER_CONFIG_PATH_					_T("C:\\DIT_Review\\ReviewServerConfig")
-#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_	_T("C:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg")
+#define _REVIEW_SERVER_BASE_PATH_					_T("D:\\DIT_Review") //210805
+#define _REVIEW_SERVER_LOG_PATH_					_T("D:\\DIT_Review\\ReviewServerLog")
+#define _REVIEW_RECIPE_PATH_						_T("D:\\DIT_Review\\Recipe")
+#define _REVIEW_REF_RECIPE_PATH_					_T("D:\\DIT_Review\\Recipe\\Reference")
+#define _REVIEW_SERVER_CONFIG_PATH_					_T("D:\\DIT_Review\\ReviewServerConfig")
+#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_	_T("D:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg")
 #define _SYSTEM_SETTING_TITLE_						_T("ReviewSystemSetting")
 #define _RECIPE_EDITOR_TITLE_						_T("ReviewRecipeEditor")
-#define _REVIEW_LOGIN_LOG_PATH_						_T("C:\\DIT_Review\\ReviewServerLog\\LoginLog")
-#define _REVIEW_REFLOW_RECIPE_PATH_					_T("C:\\DIT_Review\\Recipe\\Reflow")
-#define ALIGN_TEMPLATE_PATH							_T("C:\\DIT_Review\\Recipe\\AlignImage")
+#define _REVIEW_LOGIN_LOG_PATH_						_T("D:\\DIT_Review\\ReviewServerLog\\LoginLog")
+#define _REVIEW_REFLOW_RECIPE_PATH_					_T("D:\\DIT_Review\\Recipe\\Reflow")
+#define ALIGN_TEMPLATE_PATH							_T("D:\\DIT_Review\\Recipe\\AlignImage")
+#define _REVIEW_RECIPE_BACKUP_PATH_CPJT				_T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\Recipe")
+#define _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT	_T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\ReviewServerConfig")
+
+//#define _REVIEW_SERVER_BASE_PATH_					_T("C:\\DIT_Review")
+//#define _REVIEW_SERVER_LOG_PATH_					_T("C:\\DIT_Review\\ReviewServerLog")
+//#define _REVIEW_RECIPE_PATH_						_T("C:\\DIT_Review\\Recipe")
+//#define _REVIEW_REF_RECIPE_PATH_					_T("C:\\DIT_Review\\Recipe\\Reference")
+//#define _REVIEW_SERVER_CONFIG_PATH_					_T("C:\\DIT_Review\\ReviewServerConfig")
+//#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_	_T("C:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg")
+//#define _SYSTEM_SETTING_TITLE_						_T("ReviewSystemSetting")
+//#define _RECIPE_EDITOR_TITLE_						_T("ReviewRecipeEditor")
+//#define _REVIEW_LOGIN_LOG_PATH_						_T("C:\\DIT_Review\\ReviewServerLog\\LoginLog")
+//#define _REVIEW_REFLOW_RECIPE_PATH_					_T("C:\\DIT_Review\\Recipe\\Reflow")
+//#define ALIGN_TEMPLATE_PATH							_T("C:\\DIT_Review\\Recipe\\AlignImage")
+//#define _REVIEW_RECIPE_BACKUP_PATH_CPJT				_T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\Recipe")
+//#define _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT	_T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\ReviewServerConfig")
+
 
 #define TOTAL_WINDOW_SIZE_X		1920
 #define TOTAL_WINDOW_SIZE_Y		1040
@@ -400,4 +420,30 @@
 	char			strMessageString[MAX_PATH];
 };
 
-BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName);
\ No newline at end of file
+BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName);
+
+// �꽑�뼵 
+static LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS* exceptionInfo);
+
+LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS * exceptionInfo)
+{
+	MINIDUMP_EXCEPTION_INFORMATION dmpInfo = { 0 };
+	dmpInfo.ThreadId = ::GetCurrentThreadId(); // Threae ID 
+	dmpInfo.ExceptionPointers = exceptionInfo; // Exception Info 
+	dmpInfo.ClientPointers = FALSE;
+	CTime time;
+	CString strStamp;
+
+	SYSTEMTIME   currentTime;
+	::GetLocalTime(&currentTime);
+	time = CTime::GetCurrentTime();
+	strStamp.Format(_T("Dump\\%02d_%02d_%02d_%02d_%02d_%02d.dmp"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
+
+	HANDLE hFile = CreateFile(strStamp, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+
+	// �뜡�봽 �깮�꽦
+	BOOL bWrite = ::MiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, MiniDumpNormal, &dmpInfo, NULL, NULL);
+
+	return 0L;
+
+}
\ No newline at end of file

--
Gitblit v1.9.3