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

Last change on this file since 263 was 263, 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
[263]5#include <Compiler.h>
[182]6
[4]7class CDebugSection{
8public:
9 char szNowFilePath[MAX_PATH];
10
11 char *buffer;
12 int length;
13
14
15 ////////////////////////////////////
16 // デバッグ用の固有情報
17
18 //イメージベース
19 DWORD dwImageBase;
20
21 //リライタブルセクションのRVA
22 DWORD dwRVA_RWSection;
23
24 //コードセクションのRAVとサイズ
25 DWORD dwRVA_CodeSection;
26 int SizeOf_CodeSection;
27
[263]28 // オブジェクトモジュール
29 ObjectModule objectModule;
30
[4]31 //インクルード情報
32 INCLUDEFILEINFO IncludeFileInfo;
33
34 //ソースコード
[88]35 BasicSource source;
[4]36
37 //コードと行番号の関係
[263]38 SourceLines oldSourceLines;
[4]39
40 // クラス情報
[159]41 Classes *pobj_DBClass;
[4]42
43 //定数を取得
[206]44 Consts globalConsts;
45 ConstMacros globalConstMacros;
[4]46
47 //グローバル実行領域のサイズ
48 int GlobalOpBufferSize;
49
50 //プロシージャ
[206]51 UserProcs userProcs;
[4]52
[206]53 const 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
[206]68 CDebugSection()
69 : buffer( NULL )
70 , length( 0 )
71 , dwImageBase( 0 )
72 , dwRVA_RWSection( 0 )
73 , dwRVA_CodeSection( 0 )
74 , SizeOf_CodeSection( 0 )
75 , pobj_DBClass( NULL )
76 , GlobalOpBufferSize( 0 )
77 , pSub_DebugSys_EndProc( NULL )
78 , OpBuffer( NULL )
79 , SingleStepCodeBuffer( NULL )
80 , BreakStepCodeBuffer( NULL )
81 {
82 szNowFilePath[0]=0;
83 }
[4]84 ~CDebugSection();
85
86 void make(void);
87private:
88 void UpdateBreakPoint(void);
89 char *MakeSingleStepCode(void);
90 BOOL __load(void);
91public:
92 BOOL load(HMODULE hModule);
93
94 void choice(void);
95
96 void DeleteDebugInfo(void);
97};
98
99class CDBDebugSection{
100public:
101 CDebugSection **ppobj_ds;
102 int num;
103
104 CDebugSection *pobj_now;
105
106 CDBDebugSection();
107 ~CDBDebugSection();
108
109 BOOL add(HMODULE hModule);
110 void del(HMODULE hModule);
111
112 void choice(int index);
113
114};
115
116extern CDBDebugSection *pobj_DBDebugSection;
Note: See TracBrowser for help on using the repository browser.