java.lang.Object
ghidra.app.plugin.exceptionhandlers.gcc.structures.gccexcepttable.LSDAActionTable

public class LSDAActionTable extends Object
Defines the follow-on behavior of how to handle an exception in the context of the exceptions' C++ type.
  • Constructor Details

    • LSDAActionTable

      public LSDAActionTable(TaskMonitor monitor, Program program, RegionDescriptor region)
      Constructor for an action table.
      Note: The create(Address) method must be called after constructing an LSDAActionTable 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 action table.
      region - the region or section of the program containing the action table.
  • Method Details

    • create

      public void create(Address address, Address maxAddress) throws MemoryAccessException
      Create an LSDA Action Table from the bytes at address.
      Note: This method must get called before any of the "get..." methods.
      Parameters:
      address - the start (minimum address) of this action table.
      maxAddress - the end (maximum address) of this action table.
      Throws:
      MemoryAccessException
    • getActionRecords

      public List<LSDAActionRecord> getActionRecords()
      Gets all of the action records in this action table.
      Returns:
      the action records in this table or empty if no address has been established for this table.
    • getActionRecord

      public LSDAActionRecord getActionRecord(int actionIndex)
      Gets the action record from the table by its index.
      Parameters:
      actionIndex - indicates which action record (0 based) to get from the table.
      Returns:
      the action record or null if the index is invalid or an address hasn't been established for this table yet.
    • getActionRecordAtOffset

      public LSDAActionRecord getActionRecordAtOffset(int actionOffset)
      Gets the action record from the table for the indicated offset.
      Parameters:
      actionOffset - the byte offset into the table for the desired record
      Returns:
      the action record for the specified offset or null