Package ghidra.app.util.bin.format.dwarf.sectionprovider

# Class DSymSectionProvider

java.lang.Object
ghidra.app.util.bin.format.dwarf.sectionprovider.DSymSectionProvider

All Implemented Interfaces:
  `DWARFSectionProvider`, `Closeable`, `AutoCloseable`

public class DSymSectionProvider extends Object implements DWARFSectionProvider
Fetches DWARF section data for a MachO program with co-located .dSYM folder. (ie. Mac OSX binaries)

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DSymSectionProvider(File dsymFile)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `static DSymSectionProvider`
  `createSectionProviderFor(Program program, TaskMonitor monitor)`
  `static File`
  `getDSYMForProgram(Program program)`
  `ByteProvider`
  `getSectionAsByteProvider(String sectionName, TaskMonitor monitor)`
  Returns a ByteProvider for the specified section.
  `boolean`
  `hasSection(String... sectionNames)`
  Returns true if the specified section names are present.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface ghidra.app.util.bin.format.dwarf.sectionprovider.DWARFSectionProvider

  `updateProgramInfo`

- ## Constructor Details

  - ### DSymSectionProvider

    public DSymSectionProvider(File dsymFile) throws IOException, MachException
    Throws:
      `IOException`
      `MachException`

- ## Method Details

  - ### getDSYMForProgram

    public static File getDSYMForProgram(Program program)

  - ### createSectionProviderFor

    public static DSymSectionProvider createSectionProviderFor(Program program, TaskMonitor monitor)

  - ### getSectionAsByteProvider

    public ByteProvider getSectionAsByteProvider(String sectionName, TaskMonitor monitor) throws IOException
    Description copied from interface: `DWARFSectionProvider`
    Returns a ByteProvider for the specified section.
    Specified by:
      `getSectionAsByteProvider` in interface `DWARFSectionProvider`
    Parameters:
      `sectionName` - name of the section
      `monitor` - `TaskMonitor` to use when performing long operations
    Returns:
      ByteProvider, which will be closed by the section provider when itself is closed
    Throws:
      `IOException` - if error

  - ### close

    public void close()
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Specified by:
      `close` in interface `DWARFSectionProvider`

  - ### hasSection

    public boolean hasSection(String... sectionNames)
    Description copied from interface: `DWARFSectionProvider`
    Returns true if the specified section names are present.
    Specified by:
      `hasSection` in interface `DWARFSectionProvider`
    Parameters:
      `sectionNames` - list of section names to test
    Returns:
      true if all are present, false if not present