java.lang.Object
ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass
ghidra.app.plugin.exceptionhandlers.gcc.structures.gccexcepttable.LSDACallSiteRecord

public class LSDACallSiteRecord extends GccAnalysisClass
Defines the bounds of a try-catch region.
  • Constructor Details

    • LSDACallSiteRecord

      public LSDACallSiteRecord(TaskMonitor monitor, Program program, RegionDescriptor region)
      Constructor for a call site record.
      Note: The create(Address) method must be called after constructing an LSDACallSiteRecord to associate it with an address before any of its "get..." methods are called.
      Parameters:
      monitor - task monitor to see if the user has cancelled analysis.
      program - the program containing the call site record.
      region - the region of the program associated with the call site record.
  • Method Details

    • create

      public void create(Address addr, DwarfEHDecoder decoder) throws MemoryAccessException
      Creates data for a call site record at the indicated address and creates a comment to identify it as a call site record.
      Note: This method must get called before any of the "get..." methods.
      Parameters:
      addr - the start (minimum address) of this call site record.
      decoder - decodes dwarf encoded information within the LSDA
      Throws:
      MemoryAccessException - if memory couldn't be accessed for the call site record
    • getCallSite

      public AddressRange getCallSite()
      Get the call site addresses which make up the try.
      Returns:
      the address range of the call site
    • getLandingPad

      public Address getLandingPad()
      Get the landing pad address which indicates the catch for this call site.
      Returns:
      the landing pad address of the catch.
    • getLandingPadOffset

      public long getLandingPadOffset()
      Gets the offset of the landing pad address from the landing pad start.
      Returns:
      the landing pad offset
    • getActionOffset

      public int getActionOffset()
      Get the offset into the action table for the first action record to be caught.
      Returns:
      the offset into the action table