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

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

sourceをObjectModuleに入れた

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