public abstract class DynarmicBackend extends AbstractBackend implements Backend, DynarmicCallback
| 限定符和类型 | 字段和说明 |
|---|---|
protected Dynarmic |
dynarmic |
protected Emulator<?> |
emulator |
protected InterruptHookNotifier |
interruptHookNotifier |
protected long |
until |
| 限定符 | 构造器和说明 |
|---|---|
protected |
DynarmicBackend(Emulator<?> emulator,
Dynarmic dynarmic) |
| 限定符和类型 | 方法和说明 |
|---|---|
BreakPoint |
addBreakPoint(long arg0,
BreakPointCallback arg1,
boolean arg2) |
protected abstract byte[] |
addSoftBreakPoint(long arg0,
int arg1,
boolean arg2) |
long |
context_alloc() |
void |
context_free(long context) |
void |
context_restore(long context) |
void |
context_save(long context) |
void |
debugger_add(DebugHook callback,
long begin,
long end,
Object user_data) |
void |
destroy() |
void |
emu_start(long begin,
long until,
long timeout,
long count) |
void |
emu_stop() |
void |
enableVFP() |
void |
handleExceptionRaised(long pc,
int exception) |
boolean |
handleInterpreterFallback(long pc,
int num_instructions)
返回
false表示未处理的指令 |
void |
handleMemoryReadFailed(long vaddr,
int size) |
void |
handleMemoryWriteFailed(long vaddr,
int size) |
void |
hook_add_new(BlockHook callback,
long begin,
long end,
Object user_data) |
void |
hook_add_new(CodeHook callback,
long begin,
long end,
Object user_data) |
void |
hook_add_new(EventMemHook callback,
int type,
Object user_data) |
void |
hook_add_new(InterruptHook callback,
Object user_data) |
void |
hook_add_new(ReadHook callback,
long begin,
long end,
Object user_data) |
void |
hook_add_new(WriteHook callback,
long begin,
long end,
Object user_data) |
void |
mem_map(long address,
long size,
int perms) |
void |
mem_protect(long address,
long size,
int perms) |
byte[] |
mem_read(long address,
long size) |
void |
mem_unmap(long address,
long size) |
void |
mem_write(long address,
byte[] bytes) |
boolean |
removeBreakPoint(long arg0) |
void |
setFastDebug(boolean arg0) |
void |
setSingleStep(int arg0) |
void |
switchUserMode() |
getPageSize, onInitialize, registerEmuCountHookclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddBreakPoint, getPageSize, onInitialize, reg_read_vector, reg_read, reg_write_vector, reg_write, registerEmuCountHook, removeBreakPoint, setFastDebug, setSingleStepcallSVCprotected final Dynarmic dynarmic
protected long until
protected InterruptHookNotifier interruptHookNotifier
protected final Emulator<?> emulator
protected DynarmicBackend(Emulator<?> emulator, Dynarmic dynarmic) throws BackendException
BackendExceptionpublic final boolean handleInterpreterFallback(long pc,
int num_instructions)
DynarmicCallbackfalse表示未处理的指令handleInterpreterFallback 在接口中 DynarmicCallbackpublic void handleExceptionRaised(long pc,
int exception)
handleExceptionRaised 在接口中 DynarmicCallbackpublic void handleMemoryReadFailed(long vaddr,
int size)
handleMemoryReadFailed 在接口中 DynarmicCallbackpublic void handleMemoryWriteFailed(long vaddr,
int size)
handleMemoryWriteFailed 在接口中 DynarmicCallbackpublic final void switchUserMode()
switchUserMode 在接口中 Backendpublic final void emu_start(long begin,
long until,
long timeout,
long count)
throws BackendException
emu_start 在接口中 BackendBackendExceptionpublic void emu_stop()
throws BackendException
emu_stop 在接口中 BackendBackendExceptionpublic byte[] mem_read(long address,
long size)
throws BackendException
mem_read 在接口中 BackendBackendExceptionpublic void mem_write(long address,
byte[] bytes)
throws BackendException
mem_write 在接口中 BackendBackendExceptionpublic void mem_map(long address,
long size,
int perms)
throws BackendException
mem_map 在接口中 BackendBackendExceptionpublic void mem_protect(long address,
long size,
int perms)
throws BackendException
mem_protect 在接口中 BackendBackendExceptionpublic void mem_unmap(long address,
long size)
throws BackendException
mem_unmap 在接口中 BackendBackendExceptionpublic void hook_add_new(EventMemHook callback, int type, Object user_data)
hook_add_new 在接口中 Backendpublic void hook_add_new(InterruptHook callback, Object user_data)
hook_add_new 在接口中 Backendpublic void hook_add_new(CodeHook callback, long begin, long end, Object user_data)
hook_add_new 在接口中 Backendpublic void debugger_add(DebugHook callback, long begin, long end, Object user_data)
debugger_add 在接口中 Backendpublic void hook_add_new(ReadHook callback, long begin, long end, Object user_data)
hook_add_new 在接口中 Backendpublic void hook_add_new(WriteHook callback, long begin, long end, Object user_data)
hook_add_new 在接口中 Backendpublic void hook_add_new(BlockHook callback, long begin, long end, Object user_data)
hook_add_new 在接口中 Backendpublic long context_alloc()
context_alloc 在接口中 Backendpublic void context_free(long context)
context_free 在接口中 Backendpublic void context_save(long context)
context_save 在接口中 Backendpublic void context_restore(long context)
context_restore 在接口中 Backendpublic BreakPoint addBreakPoint(long arg0, BreakPointCallback arg1, boolean arg2)
protected abstract byte[] addSoftBreakPoint(long arg0,
int arg1,
boolean arg2)
public boolean removeBreakPoint(long arg0)
public void setSingleStep(int arg0)
public final void setFastDebug(boolean arg0)
Copyright © 2022. All rights reserved.