Class DWARFImportOptions

java.lang.Object
ghidra.app.util.bin.format.dwarf4.next.DWARFImportOptions

public class DWARFImportOptions extends Object
Import options exposed by the DWARFAnalyzer
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Option to skip DWARF import if the DWARF record count is too large.
    int
    Option to control how long DWARF symbol names are allowed to be before being truncated.
    boolean
    Option to control a feature that copies anonymous types into a structure's "namespace" CategoryPath and giving that anonymous type a new name based on the structure's field's name.
    boolean
    Option to control creating FunctionSignature datatypes for each function defintion found in the DWARF debug data.
    boolean
    Option to control eliding typedef creation if the dest type has the same name.
    boolean
    Option to turn on/off the import of data types.
    boolean
    Option to turn on/off the import of funcs.
    boolean
    Option to organize imported datatypes into sub-folders based on their source file name.
    boolean
    Option to control tagging data types and functions with their DWARF DIE record number.
    boolean
    Option to control tagging inlined-functions with comments.
    boolean
    Option to control tagging lexical blocks with Ghidra comments.
    boolean
    Option to control tagging data types and functions with their source code location (ie.
    boolean
    Option to cause the DWARF parser to load all DWARF records into memory, instead of processing one compile unit at a time.
    boolean
    Option to recognize named base types that have an explicit size in the name (eg "int32_t) and use statically sized data types instead of compiler-dependent data types.
    boolean
    Option to enable packing on structures/unions created during the DWARF import.
    void
    Option to control a feature that copies anonymous types into a structure's "namespace" CategoryPath and giving that anonymous type a new name based on the structure's field's name.
    void
    setCreateFuncSignatures(boolean createFuncSignatures)
    Option to control creating FunctionSignature datatypes for each function defintion found in the DWARF debug data.
    void
    setElideTypedefsWithSameName(boolean elide_typedefs_with_same_name)
    Option to control eliding typedef creation if the dest type has the same name.
    void
    setImportDataTypes(boolean importDataTypes)
    Option to turn on/off the import of data types.
    void
    setImportFuncs(boolean output_Funcs)
     
    void
    setImportLimitDIECount(int import_limit_die_count)
    Option to skip DWARF import if the DWARF record count is too large.
    void
    setNameLengthCutoff(int name_length_cutoff)
    Option to control how long DWARF symbol names are allowed to be before being truncated.
    void
    setOrganizeTypesBySourceFile(boolean organizeTypesBySourceFile)
    Option to organize imported datatypes into sub-folders based on their source file name.
    void
    setOutputDIEInfo(boolean output_DWARF_die_info)
    Option to control tagging data types and functions with their DWARF DIE record number.
    void
    setOutputInlineFuncComments(boolean output_InlineFunc_comments)
     
    void
    setOutputLexicalBlockComments(boolean output_LexicalBlock_comments)
    Option to control tagging lexical blocks with Ghidra comments.
    void
    setOutputSourceLocationInfo(boolean output_DWARF_location_info)
    Option to control tagging data types and functions with their source code location (ie.
    void
    setPreloadAllDIEs(boolean b)
    Option to cause the DWARF parser to load all DWARF records into memory, instead of processing one compile unit at a time.
    void
    Option to recognize named base types that have an explicit size in the name (eg "int32_t) and use statically sized data types instead of compiler-dependent data types.
    void
    setTryPackDataTypes(boolean tryPackStructs)
    Option to enable packing on structures created during the DWARF import.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DWARFImportOptions

      public DWARFImportOptions()
  • Method Details

    • isOutputSourceLocationInfo

      public boolean isOutputSourceLocationInfo()
      Option to control tagging data types and functions with their source code location (ie. filename : line number ) if the information is present in the DWARF record.
      Returns:
      boolean true if the DWARF importer should tag items with their source code location info.
    • setOutputSourceLocationInfo

      public void setOutputSourceLocationInfo(boolean output_DWARF_location_info)
      Option to control tagging data types and functions with their source code location (ie. filename : line number ) if the information is present in the DWARF record.
      Parameters:
      output_DWARF_location_info - boolean to set
    • isOutputDIEInfo

      public boolean isOutputDIEInfo()
      Option to control tagging data types and functions with their DWARF DIE record number.
      Returns:
      boolean true if the DWARF importer should tag items with their DIE record number.
    • setOutputDIEInfo

      public void setOutputDIEInfo(boolean output_DWARF_die_info)
      Option to control tagging data types and functions with their DWARF DIE record number.
      Parameters:
      output_DWARF_die_info - boolean to set
    • isElideTypedefsWithSameName

      public boolean isElideTypedefsWithSameName()
      Option to control eliding typedef creation if the dest type has the same name.
      Returns:
      boolean true if the DWARF importer should skip creating a typedef if its dest has the same name.
    • setElideTypedefsWithSameName

      public void setElideTypedefsWithSameName(boolean elide_typedefs_with_same_name)
      Option to control eliding typedef creation if the dest type has the same name.
      Parameters:
      elide_typedefs_with_same_name - boolean to set
    • isImportDataTypes

      public boolean isImportDataTypes()
      Option to turn on/off the import of data types.
      Returns:
      boolean true if import should import data types.
    • setImportDataTypes

      public void setImportDataTypes(boolean importDataTypes)
      Option to turn on/off the import of data types.
      Parameters:
      importDataTypes - boolean to set
    • isImportFuncs

      public boolean isImportFuncs()
      Option to turn on/off the import of funcs.
      Returns:
      boolean true if import should import funcs.
    • setImportFuncs

      public void setImportFuncs(boolean output_Funcs)
    • getImportLimitDIECount

      public int getImportLimitDIECount()
      Option to skip DWARF import if the DWARF record count is too large.
      Returns:
      integer count of the max number of DWARF records that will be attempted to import.
    • setImportLimitDIECount

      public void setImportLimitDIECount(int import_limit_die_count)
      Option to skip DWARF import if the DWARF record count is too large.
      Parameters:
      import_limit_die_count - integer record count
    • getNameLengthCutoff

      public int getNameLengthCutoff()
      Option to control how long DWARF symbol names are allowed to be before being truncated.
      Returns:
      integer max length of symbol names from DWARF.
    • setNameLengthCutoff

      public void setNameLengthCutoff(int name_length_cutoff)
      Option to control how long DWARF symbol names are allowed to be before being truncated.
      Parameters:
      name_length_cutoff - integer max length.
    • isPreloadAllDIEs

      public boolean isPreloadAllDIEs()
      Option to cause the DWARF parser to load all DWARF records into memory, instead of processing one compile unit at a time. Needed to handle binaries created by some toolchains. The import pre-check will warn the user if this needs to be turned on.
      Returns:
      boolean flag
    • setPreloadAllDIEs

      public void setPreloadAllDIEs(boolean b)
      Option to cause the DWARF parser to load all DWARF records into memory, instead of processing one compile unit at a time. Needed to handle binaries created by some toolchains. The import pre-check will warn the user if this needs to be turned on.
      Parameters:
      b - boolean flag to set
    • isOutputInlineFuncComments

      public boolean isOutputInlineFuncComments()
      Option to control tagging inlined-functions with comments.
      Returns:
      boolean flag.
    • setOutputInlineFuncComments

      public void setOutputInlineFuncComments(boolean output_InlineFunc_comments)
    • isOutputLexicalBlockComments

      public boolean isOutputLexicalBlockComments()
      Option to control tagging lexical blocks with Ghidra comments.
      Returns:
      boolean flag.
    • setOutputLexicalBlockComments

      public void setOutputLexicalBlockComments(boolean output_LexicalBlock_comments)
      Option to control tagging lexical blocks with Ghidra comments.
      Parameters:
      output_LexicalBlock_comments - boolean flag to set.
    • isCopyRenameAnonTypes

      public boolean isCopyRenameAnonTypes()
      Option to control a feature that copies anonymous types into a structure's "namespace" CategoryPath and giving that anonymous type a new name based on the structure's field's name.
      Returns:
      boolean flag.
    • setCopyRenameAnonTypes

      public void setCopyRenameAnonTypes(boolean b)
      Option to control a feature that copies anonymous types into a structure's "namespace" CategoryPath and giving that anonymous type a new name based on the structure's field's name.
      Parameters:
      b - boolean flag to set.
    • isCreateFuncSignatures

      public boolean isCreateFuncSignatures()
      Option to control creating FunctionSignature datatypes for each function defintion found in the DWARF debug data.
      Returns:
      boolean flag.
    • setCreateFuncSignatures

      public void setCreateFuncSignatures(boolean createFuncSignatures)
      Option to control creating FunctionSignature datatypes for each function defintion found in the DWARF debug data.
      Parameters:
      createFuncSignatures - boolean flag to set.
    • isOrganizeTypesBySourceFile

      public boolean isOrganizeTypesBySourceFile()
      Option to organize imported datatypes into sub-folders based on their source file name.
      Returns:
      boolean flag
    • setOrganizeTypesBySourceFile

      public void setOrganizeTypesBySourceFile(boolean organizeTypesBySourceFile)
      Option to organize imported datatypes into sub-folders based on their source file name.
      Parameters:
      organizeTypesBySourceFile - boolean flag to set.
    • isTryPackStructs

      public boolean isTryPackStructs()
      Option to enable packing on structures/unions created during the DWARF import. If packing would change the structure's details, packing is left disabled.
      Returns:
      boolean flag
    • setTryPackDataTypes

      public void setTryPackDataTypes(boolean tryPackStructs)
      Option to enable packing on structures created during the DWARF import. If packing would change the structure's details, packing is left disabled.
      Parameters:
      tryPackStructs - boolean flag to set
    • isSpecialCaseSizedBaseTypes

      public boolean isSpecialCaseSizedBaseTypes()
      Option to recognize named base types that have an explicit size in the name (eg "int32_t) and use statically sized data types instead of compiler-dependent data types.
      Returns:
      boolean true if option is turned on
    • setSpecialCaseSizedBaseTypes

      public void setSpecialCaseSizedBaseTypes(boolean b)
      Option to recognize named base types that have an explicit size in the name (eg "int32_t) and use statically sized data types instead of compiler-dependent data types.
      Parameters:
      b - true to turn option on, false to turn off