Package ghidra.trace.database.listing
Class DBTraceCodeSpace
java.lang.Object
ghidra.trace.database.listing.DBTraceCodeSpace
- All Implemented Interfaces:
DBTraceSpaceBased,TraceCodeOperations,TraceCodeSpace,TraceSpaceMixin
A space managed by the
DBTraceCodeManager
This implements TraceCodeManager.getCodeSpace(AddressSpace, boolean) and
TraceCodeManager.getCodeRegisterSpace(TraceThread, int, boolean).
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final AddressRangeprotected final Languageprotected DBTraceCodeUnitsViewprotected DBTraceDataViewprotected final DBTraceAddressSnapRangePropertyMapSpace<DBTraceData, DBTraceData> protected final DBHandleprotected DBTraceDefinedDataViewprotected DBTraceDefinedUnitsViewprotected final DBTraceAddressSnapRangePropertyMapSpace<DBTraceInstruction, DBTraceInstruction> protected DBTraceInstructionsViewprotected final ReadWriteLockprotected final DBTraceCodeManagerprotected final DBTracePlatformManagerprotected final DBTraceReferenceManagerprotected final AddressSpaceprotected final DBTraceprotected DBTraceUndefinedDataView -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceCodeSpace(DBTraceCodeManager manager, DBHandle dbh, AddressSpace space, AbstractDBTraceSpaceBasedManager.DBTraceSpaceEntry ent) Construct a space -
Method Summary
Modifier and TypeMethodDescriptionvoidbytesChanged(Set<TraceAddressSnapRange> changed, long snap, Address start, byte[] oldBytes, byte[] newBytes) Notify this space that some bytes have changedGet a view of all the code units in the listingprotected DBTraceCodeUnitsViewA factory method for the code units viewprotected DBTraceDataViewA factory method for the data viewprotected DBTraceDefinedDataViewA factory method for the defined data viewprotected DBTraceDefinedUnitsViewA factory method for the defined units viewprotected DBTraceInstructionsViewA factory method for the instructions viewprotected DBTraceUndefinedDataViewA factory method for the undefined data viewdata()Get a view of only the data units (defined and undefined) in the listingGet a view of only the defined data units in the listingGet a view of only the defined units (data and instructions) in the listingGet the address space of this code spacegetTrace()Get the trace containing the objectGet a view of only the instructions in the listingvoidGet a view of only the undefined data units in the listingMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.trace.database.space.DBTraceSpaceBased
assertInSpace, assertInSpace, explainLanguages, isMySpace, toAddress, toOverlayMethods inherited from interface ghidra.trace.util.TraceSpaceMixin
getFrameLevel, getThread
-
Field Details
-
manager
-
dbh
-
space
-
lock
-
baseLanguage
-
trace
-
platformManager
-
referenceManager
-
all
-
instructionMapSpace
protected final DBTraceAddressSnapRangePropertyMapSpace<DBTraceInstruction,DBTraceInstruction> instructionMapSpace -
dataMapSpace
-
instructions
-
definedData
-
undefinedData
-
data
-
definedUnits
-
codeUnits
-
-
Constructor Details
-
DBTraceCodeSpace
public DBTraceCodeSpace(DBTraceCodeManager manager, DBHandle dbh, AddressSpace space, AbstractDBTraceSpaceBasedManager.DBTraceSpaceEntry ent) throws VersionException, IOException Construct a space- Parameters:
manager- the managerdbh- the database handlespace- the address spaceent- an entry describing this space- Throws:
VersionException- if there is already a table of a different versionIOException- if there is trouble accessing the database
-
-
Method Details
-
createInstructionsView
A factory method for the instructions view -
createDefinedDataView
A factory method for the defined data view -
createDefinedUnitsView
A factory method for the defined units view -
createUndefinedDataView
A factory method for the undefined data view -
createDataView
A factory method for the data view -
createCodeUnitsView
A factory method for the code units view -
getTrace
Description copied from interface:TraceSpaceMixinGet the trace containing the object- Specified by:
getTracein interfaceTraceSpaceMixin- Returns:
- the trace
-
getAddressSpace
Description copied from interface:TraceCodeSpaceGet the address space of this code space- Specified by:
getAddressSpacein interfaceTraceCodeSpace- Specified by:
getAddressSpacein interfaceTraceSpaceMixin- Returns:
- the address space
-
codeUnits
Description copied from interface:TraceCodeOperationsGet a view of all the code units in the listing- Specified by:
codeUnitsin interfaceTraceCodeOperations- Returns:
- the code-units view
-
instructions
Description copied from interface:TraceCodeOperationsGet a view of only the instructions in the listingThis view supports the creation of new instruction units. This view also supports clearing.
- Specified by:
instructionsin interfaceTraceCodeOperations- Returns:
- the instruction-units view
-
data
Description copied from interface:TraceCodeOperationsGet a view of only the data units (defined and undefined) in the listing- Specified by:
datain interfaceTraceCodeOperations- Returns:
- the data-units view
-
definedData
Description copied from interface:TraceCodeOperationsGet a view of only the defined data units in the listingThis view supports the creation of new data units. This view also supports clearing.
- Specified by:
definedDatain interfaceTraceCodeOperations- Returns:
- the defined-data-units view
-
undefinedData
Description copied from interface:TraceCodeOperationsGet a view of only the undefined data units in the listing- Specified by:
undefinedDatain interfaceTraceCodeOperations- Returns:
- return the undefined-data-units view
-
definedUnits
Description copied from interface:TraceCodeOperationsGet a view of only the defined units (data and instructions) in the listingThis view support clearing.
- Specified by:
definedUnitsin interfaceTraceCodeOperations- Returns:
- the defined-units-view
-
invalidateCache
public void invalidateCache()- Specified by:
invalidateCachein interfaceDBTraceSpaceBased
-
bytesChanged
public void bytesChanged(Set<TraceAddressSnapRange> changed, long snap, Address start, byte[] oldBytes, byte[] newBytes) Notify this space that some bytes have changedIf any unit(s) contained the changed bytes, they may need to be truncated, deleted, and/or replaced. Instructions are generally truncated or deleted without replacement. A data unit may be replaced if its length would match that of the original.
- Parameters:
changed- the boxes whose bytes changedsnap- the snap where the client requested the changestart- the starting address where the client requested the changeoldBytes- the old bytesnewBytes- the new bytes
-