Interface INativeDebuggerUnit
- All Superinterfaces:
IAddressableUnit,IDebuggerUnit,IEventSource,IInteractiveUnit,IUnit,IUnitCreator,IUserDataSupport
Definition of native code debuggers.
-
Method Summary
Modifier and TypeMethodDescriptiongetBreakpoint(long memoryAddress) Get the breakpoints set at the explicit memory address.Retrieve an VM object representing the memory of the target.IProcessor<? extends IInstruction> Retrieve the processor associated with this debugger.intreadMemory(long memoryAddress, int size, byte[] dst, int dstOffset) Read from memory.default IDebuggerBreakpointsetBreakpoint(long memoryAddress) Same assetBreakpoint(memoryAddress, 0, 0).setBreakpoint(long memoryAddress, int flags, int processorMode) Set a breakpoint at the explicit memory address.intwriteMemory(long memoryAddress, int size, byte[] src, int srcOffset) Write to memory.Methods inherited from interface com.pnfsoftware.jeb.core.units.IAddressableUnit
getAddressLabel, getAddressLabels, getAddressOfItem, getCanonicalAddress, getItemAtAddress, getItemObject, getRelatedItems, getWellKnownAddresses, isValidAddress, normalizeAddressMethods inherited from interface com.pnfsoftware.jeb.core.units.code.debug.IDebuggerUnit
attach, canPerformOperation, clearBreakpoint, clearBreakpoints, convertSymbolicAddressToMemoryToAddress, convertToUnitAddress, detach, getBreakpoint, getBreakpoints, getDefaultThread, getModules, getPotentialDebuggees, getSuspendPolicy, getTargetApplication, getTargetEnumerator, getTargetInformation, getThreadById, getThreads, hasDefaultThread, isAttached, isPaused, isPaused, pause, registerDebuggee, restart, run, setBreakpoint, setBreakpoint, setDefaultThread, setSuspendPolicy, terminate, unregisterDebuggeeMethods inherited from interface com.pnfsoftware.jeb.util.events.IEventSource
addListener, countListeners, getListeners, getParentSource, insertListener, notifyListeners, removeListener, setParentSourceMethods inherited from interface com.pnfsoftware.jeb.core.units.IInteractiveUnit
addressToLocation, canExecuteAction, executeAction, executeAction, getAddressActions, getCommentManager, getFullComment, getFullComments, getGlobalActions, getInlineComment, getInlineComments, getItemActions, getMetadataManager, locationToAddress, prepareExecution, setInlineCommentMethods inherited from interface com.pnfsoftware.jeb.core.units.IUnit
addChild, addChild, canBePersisted, dispose, execprvfunc, generateQuickState, getChildren, getContributions, getCreationTimestamp, getDescription, getExtraInputs, getFormatter, getFormatType, getIconData, getInput, getInterpreters, getLock, getName, getNotes, getNotificationManager, getParent, getParentArtifact, getParentProject, getPropertyDefinitionManager, getPropertyManager, getRealName, getStatus, getUid, getUnitProcessor, initializePropertyObjects, isDisposed, isProcessed, isStale, isTransientChild, notifyGenericChange, postDeserialization, process, removeChild, setName, setNotes, setParent, setRealName, setUnitProcessorMethods inherited from interface com.pnfsoftware.jeb.core.IUserDataSupport
clearAllData, getAllData, getData, setData
-
Method Details
-
getProcessor
IProcessor<? extends IInstruction> getProcessor()Retrieve the processor associated with this debugger.- Returns:
- processor, or null if not applicable
-
getMemory
IDebuggerVirtualMemory getMemory()Retrieve an VM object representing the memory of the target. Operations on that object are safe and will attempt to modify the state of the debuggee if it needs to.- Returns:
- debugger virtual memory, or null if unavailable
-
readMemory
int readMemory(long memoryAddress, int size, byte[] dst, int dstOffset) Read from memory. Optional method, supported only if the debugger allows direct memory access. If the memory cannot be read at the time of the call, the method should fail instead of attempting to modify the state of the debuggee to allow the read operation.- Parameters:
memoryAddress- source memory addresssize- number of bytes to readdst- destination bufferdstOffset- destination buffer offset- Returns:
- number of bytes read, -1 on error
-
writeMemory
int writeMemory(long memoryAddress, int size, byte[] src, int srcOffset) Write to memory. Optional method, supported only if the debugger allows direct memory access. If the memory cannot be written at the time of the call, the method may attempt to modify the state of the debuggee to allow the write operation.- Parameters:
memoryAddress- destination memory addresssize- number of bytes to writesrc- source buffersrcOffset- source buffer offset- Returns:
- number of bytes written, -1 on error
-
setBreakpoint
Same assetBreakpoint(memoryAddress, 0, 0).- Parameters:
memoryAddress- requested breakpoint address- Returns:
- the breakpoint or null on error or if not implemented
-
setBreakpoint
Set a breakpoint at the explicit memory address. This method is valid only for targets supporting numerical addressing, such as physical processors.- Parameters:
memoryAddress- requested breakpoint addressflags- , refer toIDebuggerBreakpointprocessorMode- optionalprocessormode (seeIProcessor.MODE_xxxconstant)- Returns:
- the breakpoint or null on error or if not implemented
-
getBreakpoint
Get the breakpoints set at the explicit memory address.- Parameters:
memoryAddress- memory address- Returns:
- the breakpoint or null on error or if not implemented
-