source: dev/BasicCompiler_Common/DebugSection.h@ 14

Last change on this file since 14 was 14, checked in by dai_9181, 17 years ago

LexicalAnalysisのベース部分を用意。

File size: 1.6 KB
Line 
1
2class CDebugSection{
3public:
4 char szNowFilePath[MAX_PATH];
5
6 char *buffer;
7 int length;
8
9
10 ////////////////////////////////////
11 // デバッグ用の固有情報
12
13 //イメージベース
14 DWORD dwImageBase;
15
16 //リライタブルセクションのRVA
17 DWORD dwRVA_RWSection;
18
19 //コードセクションのRAVとサイズ
20 DWORD dwRVA_CodeSection;
21 int SizeOf_CodeSection;
22
23 //インクルード情報
24 INCLUDEFILEINFO IncludeFileInfo;
25
26 //ソースコード
27 char *basbuf;
28
29 //コードと行番号の関係
30 int MaxLineInfoNum;
31 LINEINFO *pLineInfo;
32
33 // クラス情報
34 CDBClass *pobj_DBClass;
35
36 // TypeDef情報
37 CDBTypeDef *pobj_DBTypeDef;
38
39 //定数を取得
40 CONSTINFO **ppConstHash;
41
42 //グローバル変数に関する情報
43 VARIABLE *GlobalVar;
44 int MaxGlobalVarNum;
45
46 //グローバル実行領域のサイズ
47 int GlobalOpBufferSize;
48
49 //プロシージャ
50 SUBINFO **ppSubHash;
51 int SubNum;
52
53 SUBINFO *pSub_DebugSys_EndProc;
54
55 //ネイティブコードバッファ
56 char *OpBuffer;
57
58 //シングルステップ用コードバッファ
59 char *SingleStepCodeBuffer;
60
61 //ブレークポイント用コードバッファ
62 char *BreakStepCodeBuffer;
63
64
65 ////////////////////////////////////
66
67
68 CDebugSection();
69 ~CDebugSection();
70
71 void make(void);
72private:
73 void UpdateBreakPoint(void);
74 char *MakeSingleStepCode(void);
75 BOOL __load(void);
76public:
77 BOOL load(HMODULE hModule);
78
79 void choice(void);
80
81 void DeleteDebugInfo(void);
82};
83
84class CDBDebugSection{
85public:
86 CDebugSection **ppobj_ds;
87 int num;
88
89 CDebugSection *pobj_now;
90
91 CDBDebugSection();
92 ~CDBDebugSection();
93
94 BOOL add(HMODULE hModule);
95 void del(HMODULE hModule);
96
97 void choice(int index);
98
99};
100
101extern CDBDebugSection *pobj_DBDebugSection;
Note: See TracBrowser for help on using the repository browser.