source: dev/trunk/ab5.0/abdev/BasicCompiler_Common/DebugSection.h@ 625

Last change on this file since 625 was 603, checked in by dai_9181, 16 years ago

ObjectModuleに関連するクラス一式をab_commonプロジェクトに移動した。

File size: 1.7 KB
Line 
1#pragma once
2
3class CDebugSection{
4public:
5 char szNowFilePath[MAX_PATH];
6
7 char *buffer;
8 int length;
9
10
11 ////////////////////////////////////
12 // デバッグ用の固有情報
13
14 //イメージベース
15 DWORD dwImageBase;
16
17 //リライタブルセクションのRVA
18 DWORD dwRVA_RWSection;
19
20 //コードセクションのRAVとサイズ
21 DWORD dwRVA_CodeSection;
22 int SizeOf_CodeSection;
23
24 // オブジェクトモジュール
25 ObjectModule objectModule;
26
27 //コードと行番号の関係
28 SourceLines _oldSourceLines;
29
30 //グローバル実行領域のサイズ
31 int GlobalOpBufferSize;
32
33 const UserProc *pSub_DebugSys_EndProc;
34
35 //ネイティブコードバッファ
36 char *OpBuffer;
37
38 //シングルステップ用コードバッファ
39 char *SingleStepCodeBuffer;
40
41 //ブレークポイント用コードバッファ
42 char *BreakStepCodeBuffer;
43
44
45 ////////////////////////////////////
46
47
48 CDebugSection()
49 : buffer( NULL )
50 , length( 0 )
51 , dwImageBase( 0 )
52 , dwRVA_RWSection( 0 )
53 , dwRVA_CodeSection( 0 )
54 , SizeOf_CodeSection( 0 )
55 , GlobalOpBufferSize( 0 )
56 , pSub_DebugSys_EndProc( NULL )
57 , OpBuffer( NULL )
58 , SingleStepCodeBuffer( NULL )
59 , BreakStepCodeBuffer( NULL )
60 {
61 szNowFilePath[0]=0;
62 }
63 ~CDebugSection();
64
65 void make(void);
66private:
67 void UpdateBreakPoint(void);
68 char *MakeSingleStepCode(void);
69 BOOL __load(void);
70public:
71 BOOL load(HMODULE hModule);
72
73 void choice(void);
74
75 void DeleteDebugInfo(void);
76};
77
78class CDBDebugSection{
79public:
80 CDebugSection **ppobj_ds;
81 int num;
82
83 CDebugSection *pobj_now;
84
85 CDBDebugSection();
86 ~CDBDebugSection();
87
88 BOOL add(HMODULE hModule);
89 void del(HMODULE hModule);
90
91 void choice(int index);
92
93};
94
95extern CDBDebugSection *pobj_DBDebugSection;
Note: See TracBrowser for help on using the repository browser.