Interface PcodeTraceDataAccess
- All Known Subinterfaces:
InternalPcodeTraceDataAccess,PcodeDebuggerDataAccess,PcodeDebuggerMemoryAccess,PcodeDebuggerRegistersAccess,PcodeTraceMemoryAccess,PcodeTraceRegistersAccess
- All Known Implementing Classes:
AbstractPcodeTraceDataAccess,DefaultPcodeTraceMemoryAccess,DefaultPcodeTraceRegistersAccess,DefaultPcodeTraceThreadAccess
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionintgetBytes(Address start, ByteBuffer buf) Read bytes from the traceGet the language of the associated platform<T> PcodeTracePropertyAccess<T> getPropertyAccess(String name, Class<T> type) Get a property-access shim for the named propertygetViewportState(AddressRange range) Get the composite state of an address range, using the snapshot's viewportCompute the intersection of the given address set and the set ofTraceMemoryState.UNKNOWNmemoryintersectViewKnown(AddressSetView view, boolean useFullSpans) Compute the intersection of the given address set and the set ofTraceMemoryState.KNOWNor (@linkTraceMemoryState.ERRORmemoryintputBytes(Address start, ByteBuffer buf) Write bytes into the tracevoidsetState(AddressRange range, TraceMemoryState state) Set the memory state of an address rangeTranslate the given emulator address to a host/overlay address
-
Method Details
-
getLanguage
Language getLanguage()Get the language of the associated platform- Returns:
- the language
-
setState
Set the memory state of an address rangeThe state is set only for the destination snapshot. It is not effective for the indefinite future.
- Parameters:
range- the rangestate- the desired state
-
getViewportState
Get the composite state of an address range, using the snapshot's viewportTypically, the viewport is at most 2 snapshots deep. When reading from a captured snapshot, the viewport includes only the source snapshot. When reading from scratch snapshot (usually generated by emulation), the viewport includes that scratch snapshot and the original source snapshot. The
TraceMemoryState.KNOWNaddress set is the union of known address sets among all snapshots in the viewport. If all addresses in the given range areTraceMemoryState.KNOWN, then the composite state is known. Otherwise, the composite state isTraceMemoryState.UNKNOWN.- Parameters:
range- the range to check- Returns:
- the composite state of the range
-
intersectViewKnown
Compute the intersection of the given address set and the set ofTraceMemoryState.KNOWNor (@linkTraceMemoryState.ERRORmemory- Parameters:
view- the address setuseFullSpans- how to treat the viewport; true for ever known, false for known now.- Returns:
- the intersection
-
intersectUnknown
Compute the intersection of the given address set and the set ofTraceMemoryState.UNKNOWNmemory- Parameters:
view- the address set- Returns:
- the intersection
-
putBytes
Write bytes into the traceEach written byte is effective for future snapshots up to but excluding the next snapshot where another byte is written at the same address.
- Parameters:
start- the address of the first byte to writebuf- a buffer of bytes to write- Returns:
- the number of bytes written
-
getBytes
Read bytes from the trace- Parameters:
start- the address of the first byte to readbuf- a buffer to receive the bytes- Returns:
- the number of bytes read
-
translate
Translate the given emulator address to a host/overlay address- Parameters:
address- the emulator address- Returns:
- the host/overlay address
-
getPropertyAccess
Get a property-access shim for the named property- Type Parameters:
T- the type of the property's values- Parameters:
name- the name of the propertytype- the class of the property's values- Returns:
- the access shim
-