From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 목, 22 12월 2022 12:31:43 +0900
Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합)

---
 ReviewHistory/include/akCore/akTrace.h |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/include/akCore/akTrace.h b/ReviewHistory/include/akCore/akTrace.h
new file mode 100644
index 0000000..9c1a5c4
--- /dev/null
+++ b/ReviewHistory/include/akCore/akTrace.h
@@ -0,0 +1,66 @@
+#pragma once
+
+
+
+
+#include "akCoreLinker.h"
+#include <queue>
+#include <windows.h>
+#include "akSTL/akQueueCircle.h"
+
+class AKCORE_DLLSPEC CakTrace
+{
+public:
+	CakTrace(void);
+	virtual ~CakTrace(void);
+
+	enum Mode
+	{
+		TM_MEMORY = 0,
+		TM_FILE,
+		TM_BOTHMEMFILE
+	};
+	//0은 메모리에 데이터 관리 하는 모드, 1은 파일에 데이터를 관리 하는 모드, 2는 둘다
+	virtual void setMode(Mode nMode);
+
+	//TRACE
+	virtual void setTrace(char* format, ...);
+
+
+
+
+	//////////////////////////////////////////////////////////////////////////
+	//파일모드 일경우 사용 함수
+	//////////////////////////////////////////////////////////////////////////
+	
+	//저장할 파일 이름 지정
+	bool setTraceFileName(char* filename, bool bClear = true);
+
+
+
+
+	//////////////////////////////////////////////////////////////////////////
+	//메모리 모드 일경우 사용 함수
+	//////////////////////////////////////////////////////////////////////////
+	//저장공간 초기화
+	void clear(); 
+	//데이터 갯수 획득
+	int getTraceNum();
+	//저장된 데이터 획득
+	char* getTraceFront();
+	//젤 앞에 데이터를 획득하고 삭제
+	void getTracePop(char* pBuffer);
+	//메모리에 있는 데이터를 파일로 저장
+	void setWriteFile(char* filename, bool bAdd = true);
+	
+
+	
+
+protected:
+	Mode m_nMode;
+
+	std::queue<char*> m_vecTraceData;
+	char* m_pTraceFileName;
+	CRITICAL_SECTION	m_csTrace;
+	FILE* m_pf;
+};

--
Gitblit v1.9.3