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 |