#pragma once //////////////////////////////////////////////////////////////////////////////////////////// /* // [8/10/2012 sensr7086] ¸ðµç ÆÄÀÏÀ» Àбâ(Map,Dmp,PDB)¸¦ ó¸®ÇÏ´Â ÃÖ»óÀ§ ProcessŬ·¡½º */ /////////////////////////////////////////////////////////////////////////////////////////// #include #include #include #include struct sExceptionInfomation { TCHAR ExceptionFuntionName[256]; TCHAR ExceptionFileName[256]; UINT FileSourceLine; bool HeaderFile; sExceptionInfomation() : FileSourceLine(0), HeaderFile(false) { memset(ExceptionFileName,0,sizeof(TCHAR)*256); memset(ExceptionFileName,0,sizeof(TCHAR)*256); } void OnInit() { FileSourceLine = 0; HeaderFile = false; memset(ExceptionFuntionName,0,sizeof(TCHAR)*256); memset(ExceptionFileName,0,sizeof(TCHAR)*256); } }; //½Éº¼ ÇÁ·Î¼¼¼­ class CBaseProcess { public: enum eSYMBOLTYPE { eSYMBOLTYPE_NONE = 0, eSYMBOLTYPE_MAP, eSYMBOLTYPE_PDB, }; public: CBaseProcess(void); virtual ~CBaseProcess(void); public: virtual void OnInitation() = 0; virtual bool LoadFile(const TCHAR* SymbolName) = 0; virtual void Clean() = 0; virtual bool OnSearch(DWORD ExceptionAddr , sExceptionInfomation& ExceptionInfo ) = 0; virtual bool OnSearch(const char* ExceptionAddr,sExceptionInfomation& ExceptionInfo ) = 0; public: DWORD GetHexValue(const char* Value); int GetHexMulti(int Value); int GetHexConvertor(char charset); };