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
ADWARFSectionProvider
that 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.String
PROGRAM_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 void
close()
static DWARFSectionProvider
createSectionProviderFor(Program program, TaskMonitor monitor)
static FSRL
getExternalDebugFileLocation(Program program)
Returns the previouly saved value of the external debug file location from the program's metadata.void
updateProgramInfo(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:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfaceDWARFSectionProvider
- Overrides:
close
in 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
-
-