public class

DebuggerUtil

extends Object
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.debug.impl.DebuggerUtil

Summary

Public Constructors
DebuggerUtil()
Public Methods
static ICodeUnit getPotentialDebuggee(IDebuggerUnit manager, long memoryAddress)
Retrieve the ICodeUnit that may contains the long memory Address.
static byte[] readMemory(IDebuggerUnit unit, long address, int length)
Read exact memory data at specified address.
static byte[] readMemoryStringSafe(IDebuggerUnit unit, long address, int length)
Try to read data at a potential address.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public DebuggerUtil ()

Public Methods

public static ICodeUnit getPotentialDebuggee (IDebuggerUnit manager, long memoryAddress)

Retrieve the ICodeUnit that may contains the long memory Address.
If there is only one potential debuggee, it is returned. Otherwise, it searches for a potential debuggee which manages long memory address (for example IVirtualMemoryCodeUnit).

public static byte[] readMemory (IDebuggerUnit unit, long address, int length)

Read exact memory data at specified address. The result length can be different from length if some data is not accessible or does not exist.

Parameters
address base address
length expected length
Returns
  • the memory data

public static byte[] readMemoryStringSafe (IDebuggerUnit unit, long address, int length)

Try to read data at a potential address. If data is available, try to access potential String. This method is error safe: this is tentative to access memory can not not exist.

Parameters
address base address
length length of the hexadecimal value to be returned if a String is not detected. If a String is detected, the length will be the length of this String (can be more than this parameter length, max 1024 bytes).
Returns
  • the memory data