| OLD | NEW |
| (Empty) |
| 1 #ifndef __LIGHT_SYMBOLS__ | |
| 2 #define __LIGHT_SYMBOLS__ | |
| 3 #define LS_TRACE(functionName,fileId,lineNumber) LightSymbol __lstr(functionName
,fileId,lineNumber); | |
| 4 | |
| 5 #include <stdio.h> | |
| 6 #include <string.h> | |
| 7 #include <stdlib.h> | |
| 8 | |
| 9 //#include <pthread.h> | |
| 10 #include <windows.h> | |
| 11 | |
| 12 typedef char* SZ; | |
| 13 | |
| 14 #define LIGHT_SYMBOLS_FILE "LIGHT_SYMBOLS_FILE" | |
| 15 | |
| 16 class LightSymbol { | |
| 17 const char* sym; | |
| 18 int fileId; | |
| 19 int lineNumber; | |
| 20 | |
| 21 LightSymbol* parentFrame; | |
| 22 | |
| 23 typedef LightSymbol* PLightSymbol; | |
| 24 | |
| 25 static PLightSymbol lsFrames[1000]; | |
| 26 static HANDLE handleFrames[1000]; | |
| 27 static SZ* fileNames; | |
| 28 static bool busted; | |
| 29 | |
| 30 public: | |
| 31 LightSymbol(const char* sym, int fileId, int lineNumber); | |
| 32 | |
| 33 ~LightSymbol(); | |
| 34 | |
| 35 static bool GetCallStack(char* sz, int len, const char* separator); | |
| 36 | |
| 37 private: | |
| 38 | |
| 39 static LightSymbol** getThreadFrameContainer(); | |
| 40 | |
| 41 bool GetCallStackCore(char* sz, int len, const char* separator) const ; | |
| 42 | |
| 43 static LightSymbol* GetCurrentFrame() ; | |
| 44 | |
| 45 static void SetCurrentFrame(LightSymbol* ls) ; | |
| 46 | |
| 47 static const char* trim(char* sz) ; | |
| 48 }; | |
| 49 | |
| 50 #endif | |
| OLD | NEW |