Class ExternalDebugFileSectionProvider

  • All Implemented Interfaces:
    DWARFSectionProvider, java.io.Closeable, java.lang.AutoCloseable

    public class ExternalDebugFileSectionProvider
    extends BaseSectionProvider
    A DWARFSectionProvider 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 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

      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface DWARFSectionProvider
        Overrides:
        close in class BaseSectionProvider
      • 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