Class LSDACallSiteRecord
- 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 Summary
Constructors Constructor Description LSDACallSiteRecord(TaskMonitor monitor, Program program, RegionDescriptor region)
Constructor for a call site record.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
create(Address addr, DwarfEHDecoder decoder)
Creates data for a call site record at the indicated address and creates a comment to identify it as a call site record.int
getActionOffset()
Get the offset into the action table for the first action record to be caught.AddressRange
getCallSite()
Get the call site addresses which make up thetry
.Address
getLandingPad()
Get the landing pad address which indicates thecatch
for this call site.long
getLandingPadOffset()
Gets the offset of the landing pad address from the landing pad start.-
Methods inherited from class ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass
createAndCommentData, createData, init
-
-
-
-
Constructor Detail
-
LSDACallSiteRecord
public LSDACallSiteRecord(TaskMonitor monitor, Program program, RegionDescriptor region)
Constructor for a call site record.
Note: Thecreate(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 Detail
-
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 thetry
.- Returns:
- the address range of the call site
-
getLandingPad
public Address getLandingPad()
Get the landing pad address which indicates thecatch
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
-
-