Author: martin
Date: 2006-04-17 19:29:37 -0400 (Mon, 17 Apr 2006)
New Revision: 59554
Added:
trunk/debugger/backends/TargetAccess.cs
Removed:
trunk/debugger/backends/ThreadBase.cs
Modified:
trunk/debugger/ChangeLog
trunk/debugger/arch/CoreFile.cs
trunk/debugger/backends/SingleSteppingEngine.cs
trunk/debugger/backends/Thread.cs
Log:
2006-04-18 Martin Baulig <[EMAIL PROTECTED]>
* backends/ThreadBase.cs: Renamed into TargetAccess.cs.
(ThreadBase): Renamed into `TargetAccess'.
Modified: trunk/debugger/ChangeLog
===================================================================
--- trunk/debugger/ChangeLog 2006-04-17 22:58:17 UTC (rev 59553)
+++ trunk/debugger/ChangeLog 2006-04-17 23:29:37 UTC (rev 59554)
@@ -1,5 +1,10 @@
2006-04-18 Martin Baulig <[EMAIL PROTECTED]>
+ * backends/ThreadBase.cs: Renamed into TargetAccess.cs.
+ (ThreadBase): Renamed into `TargetAccess'.
+
+2006-04-18 Martin Baulig <[EMAIL PROTECTED]>
+
* interfaces/ITargetMemoryAccess.cs
(ITargetMemoryInfo): Make this interface internal.
Modified: trunk/debugger/arch/CoreFile.cs
===================================================================
--- trunk/debugger/arch/CoreFile.cs 2006-04-17 22:58:17 UTC (rev 59553)
+++ trunk/debugger/arch/CoreFile.cs 2006-04-17 23:29:37 UTC (rev 59554)
@@ -146,7 +146,7 @@
get { return memory_info; }
}
- protected class CoreFileThread : ThreadBase
+ protected class CoreFileThread : TargetAccess
{
public readonly int PID;
public readonly CoreFile CoreFile;
Modified: trunk/debugger/backends/SingleSteppingEngine.cs
===================================================================
--- trunk/debugger/backends/SingleSteppingEngine.cs 2006-04-17 22:58:17 UTC
(rev 59553)
+++ trunk/debugger/backends/SingleSteppingEngine.cs 2006-04-17 23:29:37 UTC
(rev 59554)
@@ -68,7 +68,7 @@
//
// See the `Thread' class for the "user interface".
// </summary>
- internal class SingleSteppingEngine : ThreadBase
+ internal class SingleSteppingEngine : TargetAccess
{
// <summary>
// This is invoked after compiling a trampoline - it returns
whether or
Copied: trunk/debugger/backends/TargetAccess.cs (from rev 59553,
trunk/debugger/backends/ThreadBase.cs)
===================================================================
--- trunk/debugger/backends/ThreadBase.cs 2006-04-17 22:58:17 UTC (rev
59553)
+++ trunk/debugger/backends/TargetAccess.cs 2006-04-17 23:29:37 UTC (rev
59554)
@@ -0,0 +1,122 @@
+using System;
+
+namespace Mono.Debugger.Backends
+{
+ public abstract class TargetAccess : MarshalByRefObject,
ITargetMemoryAccess
+ {
+ internal abstract ThreadManager ThreadManager {
+ get;
+ }
+
+ public abstract Process Process {
+ get;
+ }
+
+ public abstract ITargetInfo TargetInfo {
+ get;
+ }
+
+ internal abstract ITargetMemoryInfo TargetMemoryInfo {
+ get;
+ }
+
+ ITargetMemoryInfo ITargetMemoryAccess.TargetMemoryInfo {
+ get { return TargetMemoryInfo; }
+ }
+
+ public abstract TargetState State {
+ get;
+ }
+
+ public abstract StackFrame CurrentFrame {
+ get;
+ }
+
+ public abstract TargetAddress CurrentFrameAddress {
+ get;
+ }
+
+ public abstract Backtrace CurrentBacktrace {
+ get;
+ }
+
+ public abstract Backtrace GetBacktrace (int max_frames);
+
+ public abstract int GetInstructionSize (TargetAddress address);
+
+ public abstract AssemblerLine DisassembleInstruction (Method
method,
+
TargetAddress address);
+
+ public abstract AssemblerMethod DisassembleMethod (Method
method);
+
+ //
+ // ITargetInfo
+ //
+
+ public abstract int TargetIntegerSize {
+ get;
+ }
+
+ public abstract int TargetLongIntegerSize {
+ get;
+ }
+
+ public abstract int TargetAddressSize {
+ get;
+ }
+
+ public abstract bool IsBigEndian {
+ get;
+ }
+
+ //
+ // ITargetMemoryInfo
+ //
+
+ public abstract Architecture Architecture {
+ get;
+ }
+
+ public abstract AddressDomain AddressDomain {
+ get;
+ }
+
+ //
+ // ITargetMemoryAccess
+ //
+
+ public abstract byte ReadByte (TargetAddress address);
+
+ public abstract int ReadInteger (TargetAddress address);
+
+ public abstract long ReadLongInteger (TargetAddress address);
+
+ public abstract TargetAddress ReadAddress (TargetAddress
address);
+
+ public abstract string ReadString (TargetAddress address);
+
+ public abstract TargetBlob ReadMemory (TargetAddress address,
int size);
+
+ public abstract byte[] ReadBuffer (TargetAddress address, int
size);
+
+ public abstract Registers GetRegisters ();
+
+ public abstract bool CanWrite {
+ get;
+ }
+
+ public abstract void WriteBuffer (TargetAddress address, byte[]
buffer);
+
+ public abstract void WriteByte (TargetAddress address, byte
value);
+
+ public abstract void WriteInteger (TargetAddress address, int
value);
+
+ public abstract void WriteLongInteger (TargetAddress address,
long value);
+
+ public abstract void WriteAddress (TargetAddress address,
TargetAddress value);
+
+ public abstract void SetRegisters (Registers registers);
+
+ public abstract int InsertBreakpoint (Breakpoint breakpoint,
TargetAddress address);
+ }
+}
Modified: trunk/debugger/backends/Thread.cs
===================================================================
--- trunk/debugger/backends/Thread.cs 2006-04-17 22:58:17 UTC (rev 59553)
+++ trunk/debugger/backends/Thread.cs 2006-04-17 23:29:37 UTC (rev 59554)
@@ -20,12 +20,12 @@
[Serializable]
internal delegate object TargetAccessDelegate (Thread target, object
user_data);
- public class Thread : ThreadBase
+ public class Thread : TargetAccess
{
internal Thread (SingleSteppingEngine engine)
{
this.engine = engine;
- this.thread = engine;
+ this.target = engine;
this.id = engine.ThreadManager.NextThreadID;
this.manager = engine.ThreadManager;
@@ -45,14 +45,14 @@
this.target_memory_info = engine.TargetMemoryInfo;
}
- internal Thread (ThreadBase thread, int pid)
+ internal Thread (TargetAccess target, int pid)
{
- this.thread = thread;
- this.id = thread.ThreadManager.NextThreadID;
+ this.target = target;
+ this.id = target.ThreadManager.NextThreadID;
this.pid = pid;
- this.manager = thread.ThreadManager;
- this.process = thread.Process;
+ this.manager = target.ThreadManager;
+ this.process = target.Process;
this.symtab_manager = process.SymbolTableManager;
@@ -61,15 +61,15 @@
operation_completed_event = new ST.ManualResetEvent
(false);
- this.target_info = thread.TargetInfo;
- this.target_memory_info = thread.TargetMemoryInfo;
+ this.target_info = target.TargetInfo;
+ this.target_memory_info = target.TargetMemoryInfo;
}
bool is_daemon;
int id, pid;
long tid;
ThreadGroup tgroup;
- ThreadBase thread;
+ TargetAccess target;
SingleSteppingEngine engine;
Process process;
ThreadManager manager;
@@ -84,7 +84,7 @@
protected internal Language NativeLanguage {
get {
- check_thread ();
+ check_target ();
return process.BfdContainer.NativeLanguage;
}
}
@@ -100,10 +100,10 @@
// </summary>
public override TargetState State {
get {
- if (thread == null)
+ if (target == null)
return TargetState.NO_TARGET;
else
- return thread.State;
+ return target.State;
}
}
@@ -136,21 +136,21 @@
public override Architecture Architecture {
get {
- check_thread ();
+ check_target ();
return target_memory_info.Architecture;
}
}
public override Process Process {
get {
- check_thread ();
+ check_target ();
return process;
}
}
internal override ThreadManager ThreadManager {
get {
- check_thread ();
+ check_target ();
return manager;
}
}
@@ -188,9 +188,9 @@
throw new TargetException
(TargetError.NoTarget);
}
- void check_thread ()
+ void check_target ()
{
- if (thread == null)
+ if (target == null)
throw new TargetException
(TargetError.NoTarget);
}
@@ -204,15 +204,15 @@
// </summary>
public override StackFrame CurrentFrame {
get {
- check_thread ();
- return thread.CurrentFrame;
+ check_target ();
+ return target.CurrentFrame;
}
}
public override TargetAddress CurrentFrameAddress {
get {
- check_thread ();
- return thread.CurrentFrameAddress;
+ check_target ();
+ return target.CurrentFrameAddress;
}
}
@@ -227,14 +227,14 @@
// </summary>
public override Backtrace GetBacktrace (int max_frames)
{
- check_thread ();
- return thread.GetBacktrace (max_frames);
+ check_target ();
+ return target.GetBacktrace (max_frames);
}
public Backtrace GetBacktrace ()
{
- check_thread ();
- Backtrace bt = thread.CurrentBacktrace;
+ check_target ();
+ Backtrace bt = target.CurrentBacktrace;
if (bt != null)
return bt;
@@ -243,15 +243,15 @@
public override Backtrace CurrentBacktrace {
get {
- check_thread ();
- return thread.CurrentBacktrace;
+ check_target ();
+ return target.CurrentBacktrace;
}
}
public override Registers GetRegisters ()
{
- check_thread ();
- return thread.GetRegisters ();
+ check_target ();
+ return target.GetRegisters ();
}
public override void SetRegisters (Registers registers)
@@ -506,20 +506,20 @@
public override int GetInstructionSize (TargetAddress address)
{
- check_thread ();
- return thread.GetInstructionSize (address);
+ check_target ();
+ return target.GetInstructionSize (address);
}
public override AssemblerLine DisassembleInstruction (Method
method, TargetAddress address)
{
- check_thread ();
- return thread.DisassembleInstruction (method, address);
+ check_target ();
+ return target.DisassembleInstruction (method, address);
}
public override AssemblerMethod DisassembleMethod (Method
method)
{
- check_thread ();
- return thread.DisassembleMethod (method);
+ check_target ();
+ return target.DisassembleMethod (method);
}
public void RuntimeInvoke (TargetFunctionType function,
@@ -688,8 +688,8 @@
#region ITargetMemoryAccess implementation
void write_memory (TargetAddress address, byte[] buffer)
{
- check_thread ();
- thread.WriteBuffer (address, buffer);
+ check_target ();
+ target.WriteBuffer (address, buffer);
}
public override AddressDomain AddressDomain {
@@ -700,45 +700,45 @@
public override byte ReadByte (TargetAddress address)
{
- check_thread ();
- return thread.ReadByte (address);
+ check_target ();
+ return target.ReadByte (address);
}
public override int ReadInteger (TargetAddress address)
{
- check_thread ();
- return thread.ReadInteger (address);
+ check_target ();
+ return target.ReadInteger (address);
}
public override long ReadLongInteger (TargetAddress address)
{
- check_thread ();
- return thread.ReadLongInteger (address);
+ check_target ();
+ return target.ReadLongInteger (address);
}
public override TargetAddress ReadAddress (TargetAddress
address)
{
- check_thread ();
- return thread.ReadAddress (address);
+ check_target ();
+ return target.ReadAddress (address);
}
public override string ReadString (TargetAddress address)
{
- check_thread ();
- return thread.ReadString (address);
+ check_target ();
+ return target.ReadString (address);
}
public override TargetBlob ReadMemory (TargetAddress address,
int size)
{
- check_thread ();
- byte[] buffer = thread.ReadBuffer (address, size);
+ check_target ();
+ byte[] buffer = target.ReadBuffer (address, size);
return new TargetBlob (buffer, target_info);
}
public override byte[] ReadBuffer (TargetAddress address, int
size)
{
- check_thread ();
- return thread.ReadBuffer (address, size);
+ check_target ();
+ return target.ReadBuffer (address, size);
}
public override bool CanWrite {
@@ -767,7 +767,7 @@
public override void WriteAddress (TargetAddress address,
TargetAddress value)
{
- check_thread ();
+ check_target ();
TargetBinaryWriter writer = new TargetBinaryWriter (
target_info.TargetAddressSize, target_info);
writer.WriteAddress (value);
Deleted: trunk/debugger/backends/ThreadBase.cs
===================================================================
--- trunk/debugger/backends/ThreadBase.cs 2006-04-17 22:58:17 UTC (rev
59553)
+++ trunk/debugger/backends/ThreadBase.cs 2006-04-17 23:29:37 UTC (rev
59554)
@@ -1,122 +0,0 @@
-using System;
-
-namespace Mono.Debugger.Backends
-{
- public abstract class ThreadBase : MarshalByRefObject,
ITargetMemoryAccess
- {
- internal abstract ThreadManager ThreadManager {
- get;
- }
-
- public abstract Process Process {
- get;
- }
-
- public abstract ITargetInfo TargetInfo {
- get;
- }
-
- internal abstract ITargetMemoryInfo TargetMemoryInfo {
- get;
- }
-
- ITargetMemoryInfo ITargetMemoryAccess.TargetMemoryInfo {
- get { return TargetMemoryInfo; }
- }
-
- public abstract TargetState State {
- get;
- }
-
- public abstract StackFrame CurrentFrame {
- get;
- }
-
- public abstract TargetAddress CurrentFrameAddress {
- get;
- }
-
- public abstract Backtrace CurrentBacktrace {
- get;
- }
-
- public abstract Backtrace GetBacktrace (int max_frames);
-
- public abstract int GetInstructionSize (TargetAddress address);
-
- public abstract AssemblerLine DisassembleInstruction (Method
method,
-
TargetAddress address);
-
- public abstract AssemblerMethod DisassembleMethod (Method
method);
-
- //
- // ITargetInfo
- //
-
- public abstract int TargetIntegerSize {
- get;
- }
-
- public abstract int TargetLongIntegerSize {
- get;
- }
-
- public abstract int TargetAddressSize {
- get;
- }
-
- public abstract bool IsBigEndian {
- get;
- }
-
- //
- // ITargetMemoryInfo
- //
-
- public abstract Architecture Architecture {
- get;
- }
-
- public abstract AddressDomain AddressDomain {
- get;
- }
-
- //
- // ITargetMemoryAccess
- //
-
- public abstract byte ReadByte (TargetAddress address);
-
- public abstract int ReadInteger (TargetAddress address);
-
- public abstract long ReadLongInteger (TargetAddress address);
-
- public abstract TargetAddress ReadAddress (TargetAddress
address);
-
- public abstract string ReadString (TargetAddress address);
-
- public abstract TargetBlob ReadMemory (TargetAddress address,
int size);
-
- public abstract byte[] ReadBuffer (TargetAddress address, int
size);
-
- public abstract Registers GetRegisters ();
-
- public abstract bool CanWrite {
- get;
- }
-
- public abstract void WriteBuffer (TargetAddress address, byte[]
buffer);
-
- public abstract void WriteByte (TargetAddress address, byte
value);
-
- public abstract void WriteInteger (TargetAddress address, int
value);
-
- public abstract void WriteLongInteger (TargetAddress address,
long value);
-
- public abstract void WriteAddress (TargetAddress address,
TargetAddress value);
-
- public abstract void SetRegisters (Registers registers);
-
- public abstract int InsertBreakpoint (Breakpoint breakpoint,
TargetAddress address);
- }
-}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches