Class ExternalDebugFileSectionProvider
- java.lang.Object
-
- ghidra.app.util.bin.format.dwarf4.next.sectionprovider.BaseSectionProvider
-
- ghidra.app.util.bin.format.dwarf4.next.sectionprovider.ExternalDebugFileSectionProvider
-
- All Implemented Interfaces:
DWARFSectionProvider,java.io.Closeable,java.lang.AutoCloseable
public class ExternalDebugFileSectionProvider extends BaseSectionProvider
ADWARFSectionProviderthat reads .debug_info (and friends) sections from an external ELF file that is referenced in the original ELF file's build-id or debuglink sections.Creates a pinning reference from the temporary external ELF debug file to this SectionProvider instance using the program's
DomainObject.addConsumer(Object), and then releases the consumer when this instance is closed, allowing the temporary Program to be destroyed.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPROGRAM_INFO_DWARF_EXTERNAL_DEBUG_FILE-
Fields inherited from class ghidra.app.util.bin.format.dwarf4.next.sectionprovider.BaseSectionProvider
program
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static DWARFSectionProvidercreateSectionProviderFor(Program program, TaskMonitor monitor)static FSRLgetExternalDebugFileLocation(Program program)Returns the previouly saved value of the external debug file location from the program's metadata.voidupdateProgramInfo(Program program)-
Methods inherited from class ghidra.app.util.bin.format.dwarf4.next.sectionprovider.BaseSectionProvider
createSectionProviderFor, getSectionAsByteProvider, hasDWARFSections, hasSection
-
-
-
-
Field Detail
-
PROGRAM_INFO_DWARF_EXTERNAL_DEBUG_FILE
public static final java.lang.String PROGRAM_INFO_DWARF_EXTERNAL_DEBUG_FILE
- See Also:
- Constant Field Values
-
-
Method Detail
-
createSectionProviderFor
public static DWARFSectionProvider createSectionProviderFor(Program program, TaskMonitor monitor)
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceDWARFSectionProvider- Overrides:
closein classBaseSectionProvider
-
updateProgramInfo
public void updateProgramInfo(Program program)
-
getExternalDebugFileLocation
public static FSRL getExternalDebugFileLocation(Program program)
Returns the previouly saved value of the external debug file location from the program's metadata.- Parameters:
program- DWARF that previously was analyzed- Returns:
- FSRL of external debug file, or null if missing or corrupted value
-
-