本文整理汇总了C#中Mono.Debugger.TargetAddress类的典型用法代码示例。如果您正苦于以下问题:C# TargetAddress类的具体用法?C# TargetAddress怎么用?C# TargetAddress使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TargetAddress类属于Mono.Debugger命名空间,在下文中一共展示了TargetAddress类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AssemblerLine
public AssemblerLine(string label, TargetAddress address, byte size, string text)
{
this.Label = label;
this.Address = address;
this.InstructionSize = size;
this.Text = text;
}
示例2: TargetMemoryArea
public TargetMemoryArea(TargetAddress start, TargetAddress end,
TargetMemoryFlags flags, string name)
{
this.start = start;
this.end = end;
this.flags = flags;
this.name = name;
}
示例3: StepFrame
public StepFrame(Language language, StepMode mode, StackFrame stack,
TargetAddress start, TargetAddress end)
{
this.start = start;
this.end = end;
this.stack = stack;
this.language = language;
this.mode = mode;
}
示例4: LineEntry
public LineEntry(TargetAddress address, int file, int line, bool is_hidden,
SourceRange? source_range)
{
this.Address = address;;
this.File = file;
this.Line = line;
this.IsHidden = is_hidden;
this.SourceRange = source_range;
}
示例5: Register
public Register(Registers registers, string name, int index, int size,
bool valid, long value)
{
this.registers = registers;
this.Name = name;
this.Index = index;
this.Size = size;
this.valid = valid;
this.value = value;
this.addr_on_stack = TargetAddress.Null;
}
示例6: GetTrampoline
public override bool GetTrampoline(TargetMemoryAccess memory, TargetAddress address,
out TargetAddress trampoline, out bool is_start)
{
foreach (Bfd bfd in bfd_hash.Values) {
if (bfd.GetTrampoline (memory, address, out trampoline, out is_start))
return true;
}
is_start = false;
trampoline = TargetAddress.Null;
return false;
}
示例7: CheckException
internal bool CheckException(MonoLanguageBackend mono, TargetMemoryAccess target,
TargetAddress address)
{
TargetClassObject exc = mono.CreateObject (target, address) as TargetClassObject;
if (exc == null)
return false; // OOOPS
if (exception == null)
exception = mono.LookupType (Name);
if (exception == null)
return false;
return IsSubclassOf (target, exc.Type, exception);
}
示例8: AddExecutableFile
public override NativeExecutableReader AddExecutableFile(Inferior inferior, string filename,
TargetAddress base_address, bool step_into,
bool is_loaded)
{
check_disposed ();
Bfd bfd = (Bfd) bfd_hash [filename];
if (bfd != null)
return bfd;
bfd = new Bfd (this, inferior.TargetMemoryInfo, filename, base_address, is_loaded);
bfd_hash.Add (filename, bfd);
check_loaded_library (inferior, bfd);
return bfd;
}
示例9: DisassembleInstruction
public override AssemblerLine DisassembleInstruction(TargetMemoryAccess memory,
Method method,
TargetAddress address)
{
lock (this) {
memory_exception = null;
sb = new StringBuilder ();
address = new TargetAddress (memory.AddressDomain, address.Address);
string insn;
int insn_size;
try {
this.memory = memory;
current_method = method;
insn_size = bfd_glue_disassemble_insn (handle, address.Address);
if (memory_exception != null)
return null;
insn = sb.ToString ();
} finally {
sb = null;
this.memory = null;
memory_exception = null;
current_method = null;
}
Symbol label = null;
if (process != null)
label = process.SymbolTableManager.SimpleLookup (address, true);
string label_name = null;
if (label != null)
label_name = label.ToString ();
return new AssemblerLine (
label_name, address, (byte) insn_size, insn);
}
}
示例10: DisassembleInstruction
// <summary>
// Disassemble one instruction.
// If @imethod is non-null, it specifies the current method which will
// be used to lookup function names from trampoline calls.
// </summary>
public abstract AssemblerLine DisassembleInstruction(TargetMemoryAccess memory,
Method method,
TargetAddress address);
示例11: AddressBreakpoint
internal AddressBreakpoint(string name, ThreadGroup group, TargetAddress address)
: base(EventType.Breakpoint, name, group)
{
this.address = address;
}
示例12: InitializeMono
internal void InitializeMono(Inferior inferior, TargetAddress mdb_debug_info)
{
MonoRuntimeFound = true;
mono_manager = MonoThreadManager.Initialize (this, inferior, mdb_debug_info, is_attached);
InitializeThreads (inferior, !is_attached);
if (mono_manager == null)
return;
mono_manager.InitializeThreads (inferior);
if (is_attached)
mono_manager.InitializeAfterAttach (inferior);
}
示例13: Symbol
public Symbol(string name, TargetAddress address, int offset)
{
this.Name = name;
this.Address = address;
this.Offset = offset;
}
示例14: InitCodeBuffer
internal void InitCodeBuffer(Inferior inferior, TargetAddress code_buffer)
{
HasCodeBuffer = true;
mono_debugger_server_initialize_code_buffer (
mono_runtime_info, code_buffer.Address,
debugger_info.ExecutableCodeBufferSize);
}
示例15: DoEvaluateObject
protected override TargetObject DoEvaluateObject(ScriptingContext context)
{
StackFrame frame = context.CurrentFrame;
Register register = frame.Registers [name];
if (register == null)
throw new ScriptingException ("No such register `{0}'.", name);
try {
long value = register.Value;
TargetAddress address = new TargetAddress (
context.AddressDomain, value);
return context.CurrentLanguage.CreatePointer (frame, address);
} catch {
throw new ScriptingException (
"Can't access register `{0}' selected stack frame.", name);
}
}