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

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

コード全体のリファクタリングを実施

File size: 2.0 KB
RevLine 
[182]1#pragma once
[4]2
[182]3#include <jenga/include/smoothie/Source.h>
4
[206]5#include <Class.h>
6#include <Procedure.h>
7#include <Const.h>
[182]8
9
[4]10class CDebugSection{
11public:
12 char szNowFilePath[MAX_PATH];
13
14 char *buffer;
15 int length;
16
17
18 ////////////////////////////////////
19 // デバッグ用の固有情報
20
21 //イメージベース
22 DWORD dwImageBase;
23
24 //リライタブルセクションのRVA
25 DWORD dwRVA_RWSection;
26
27 //コードセクションのRAVとサイズ
28 DWORD dwRVA_CodeSection;
29 int SizeOf_CodeSection;
30
31 //インクルード情報
32 INCLUDEFILEINFO IncludeFileInfo;
33
34 //ソースコード
[88]35 BasicSource source;
[4]36
37 //コードと行番号の関係
38 int MaxLineInfoNum;
39 LINEINFO *pLineInfo;
40
41 // クラス情報
[159]42 Classes *pobj_DBClass;
[4]43
44 //定数を取得
[206]45 Consts globalConsts;
46 ConstMacros globalConstMacros;
[4]47
48 //グローバル実行領域のサイズ
49 int GlobalOpBufferSize;
50
51 //プロシージャ
[206]52 UserProcs userProcs;
[4]53
[206]54 const UserProc *pSub_DebugSys_EndProc;
[4]55
56 //ネイティブコードバッファ
57 char *OpBuffer;
58
59 //シングルステップ用コードバッファ
60 char *SingleStepCodeBuffer;
61
62 //ブレークポイント用コードバッファ
63 char *BreakStepCodeBuffer;
64
65
66 ////////////////////////////////////
67
68
[206]69 CDebugSection()
70 : buffer( NULL )
71 , length( 0 )
72 , dwImageBase( 0 )
73 , dwRVA_RWSection( 0 )
74 , dwRVA_CodeSection( 0 )
75 , SizeOf_CodeSection( 0 )
76 , pobj_DBClass( NULL )
77 , GlobalOpBufferSize( 0 )
78 , pSub_DebugSys_EndProc( NULL )
79 , OpBuffer( NULL )
80 , SingleStepCodeBuffer( NULL )
81 , BreakStepCodeBuffer( NULL )
82 {
83 szNowFilePath[0]=0;
84 }
[4]85 ~CDebugSection();
86
87 void make(void);
88private:
89 void UpdateBreakPoint(void);
90 char *MakeSingleStepCode(void);
91 BOOL __load(void);
92public:
93 BOOL load(HMODULE hModule);
94
95 void choice(void);
96
97 void DeleteDebugInfo(void);
98};
99
100class CDBDebugSection{
101public:
102 CDebugSection **ppobj_ds;
103 int num;
104
105 CDebugSection *pobj_now;
106
107 CDBDebugSection();
108 ~CDBDebugSection();
109
110 BOOL add(HMODULE hModule);
111 void del(HMODULE hModule);
112
113 void choice(int index);
114
115};
116
117extern CDBDebugSection *pobj_DBDebugSection;
Note: See TracBrowser for help on using the repository browser.