Interface TraceModuleOperations

All Known Subinterfaces:
TraceModuleManager, TraceModuleSpace
All Known Implementing Classes:
DBTraceModuleManager

public interface TraceModuleOperations
Operations for retrieving sections from a trace

Modules do not occupy target memory in and of themselves, but rather, their sections do. Thus, only the section information is mapped out by memory address. Each section inherits its lifespan from the containing module.

  • Method Details

    • getAllModules

      Collection<? extends TraceModule> getAllModules()
      Get all modules
      Returns:
      the (possibly empty) collection of modules
    • getLoadedModules

      Collection<? extends TraceModule> getLoadedModules(long snap)
      Get all modules loaded at the given snap
      Parameters:
      snap - the snapshot key
      Returns:
      the collection of loaded modules
    • getModulesAt

      Collection<? extends TraceModule> getModulesAt(long snap, Address address)
      Get modules at the given snap and address
      Parameters:
      snap - the snap
      address - the address
      Returns:
      the (possibly empty) collection of modules
    • getModulesIntersecting

      Collection<? extends TraceModule> getModulesIntersecting(Lifespan lifespan, AddressRange range)
      Get the modules loaded at the given snap intersecting the given address range
      Parameters:
      lifespan - the span which the module must intersect
      range - the range of memory the module must intersect
      Returns:
      the collection of sections
    • getAllSections

      Collection<? extends TraceSection> getAllSections()
      Get all sections
      Returns:
      the (possibly empty) collection of sections
    • getSectionsAt

      Collection<? extends TraceSection> getSectionsAt(long snap, Address address)
      Get sections at the given snap and address
      Parameters:
      snap - the snap
      address - the address
      Returns:
      the (possibly empty) collection of sections
    • getSectionsIntersecting

      Collection<? extends TraceSection> getSectionsIntersecting(Lifespan lifespan, AddressRange range)
      Get the sections loaded at the given snap intersecting the given address range
      Parameters:
      lifespan - the span which the section's (module's) lifespan must intersect
      range - the range of memory each loaded section must intersect
      Returns:
      the collection of sections