This repository has been archived by the owner on Feb 8, 2018. It is now read-only.
/
WindowsOperatingSystem.cs
111 lines (89 loc) · 2.7 KB
/
WindowsOperatingSystem.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
using System;
using System.IO;
using System.Collections;
using Mono.Debugger;
using Mono.Debugger.Architectures;
namespace Mono.Debugger.Backend
{
internal class WindowsOperatingSystem : OperatingSystemBackend
{
public WindowsOperatingSystem(Process process)
: base (process)
{
}
internal override void ReadNativeTypes ()
{
throw new NotImplementedException();
}
public override NativeExecutableReader LookupLibrary (TargetAddress address)
{
throw new NotImplementedException();
}
public override NativeExecutableReader LoadExecutable (TargetMemoryInfo memory, string filename,
bool load_native_symtabs)
{
throw new NotImplementedException();
}
public override NativeExecutableReader AddExecutableFile (Inferior inferior, string filename,
TargetAddress base_address, bool step_into,
bool is_loaded)
{
throw new NotImplementedException();
}
internal override bool CheckForPendingMonoInit (Inferior inferior)
{
throw new NotImplementedException();
}
public override TargetAddress LookupSymbol (string name)
{
throw new NotImplementedException();
}
public override NativeExecutableReader LookupLibrary (string name)
{
throw new NotImplementedException();
}
public override bool GetTrampoline (TargetMemoryAccess memory, TargetAddress address,
out TargetAddress trampoline, out bool is_start)
{
throw new NotImplementedException();
}
public TargetAddress GetSectionAddress (string name)
{
throw new NotImplementedException();
}
#region Dynamic Linking
bool has_dynlink_info;
TargetAddress dyld_all_image_infos = TargetAddress.Null;
TargetAddress rdebug_state_addr = TargetAddress.Null;
AddressBreakpoint dynlink_breakpoint;
internal override void UpdateSharedLibraries (Inferior inferior)
{
throw new NotImplementedException();
}
protected class DynlinkBreakpoint : AddressBreakpoint
{
protected readonly WindowsOperatingSystem OS;
public readonly Instruction Instruction;
public DynlinkBreakpoint (WindowsOperatingSystem os, Instruction instruction)
: base ("dynlink", ThreadGroup.System, instruction.Address)
{
this.OS = os;
this.Instruction = instruction;
}
public override bool CheckBreakpointHit (Thread target, TargetAddress address)
{
throw new NotImplementedException();
}
internal override bool BreakpointHandler (Inferior inferior,
out bool remain_stopped)
{
throw new NotImplementedException();
}
}
#endregion
protected override void DoDispose ()
{
throw new NotImplementedException();
}
}
}