source: dev/trunk/abdev/BasicCompiler_Common/DebugSection.h@ 193

Last change on this file since 193 was 182, checked in by dai_9181, 17 years ago
File size: 1.6 KB
RevLine 
[182]1#pragma once
[4]2
[182]3#include <jenga/include/smoothie/Source.h>
4#include <jenga/include/smoothie/Class.h>
5
6#include <ProcedureImpl.h>
7
8
[4]9class CDebugSection{
10public:
11 char szNowFilePath[MAX_PATH];
12
13 char *buffer;
14 int length;
15
16
17 ////////////////////////////////////
18 // デバッグ用の固有情報
19
20 //イメージベース
21 DWORD dwImageBase;
22
23 //リライタブルセクションのRVA
24 DWORD dwRVA_RWSection;
25
26 //コードセクションのRAVとサイズ
27 DWORD dwRVA_CodeSection;
28 int SizeOf_CodeSection;
29
30 //インクルード情報
31 INCLUDEFILEINFO IncludeFileInfo;
32
33 //ソースコード
[88]34 BasicSource source;
[4]35
36 //コードと行番号の関係
37 int MaxLineInfoNum;
38 LINEINFO *pLineInfo;
39
40 // クラス情報
[159]41 Classes *pobj_DBClass;
[4]42
43 //定数を取得
44 CONSTINFO **ppConstHash;
45
46 //グローバル実行領域のサイズ
47 int GlobalOpBufferSize;
48
49 //プロシージャ
[100]50 GlobalProc **ppSubHash;
[4]51 int SubNum;
52
[75]53 UserProc *pSub_DebugSys_EndProc;
[4]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.