Class DWARFImportOptions


  • public class DWARFImportOptions
    extends java.lang.Object
    Import options exposed by the DWARFAnalyzer
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getImportLimitDIECount()
      Option to skip DWARF import if the DWARF record count is too large.
      int getNameLengthCutoff()
      Option to control how long DWARF symbol names are allowed to be before being truncated.
      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.
      boolean isCreateFuncSignatures()
      Option to control creating FunctionSignature datatypes for each function defintion found in the DWARF debug data.
      boolean isElideTypedefsWithSameName()
      Option to control eliding typedef creation if the dest type has the same name.
      boolean isImportDataTypes()
      Option to turn on/off the import of data types.
      boolean isImportFuncs()
      Option to turn on/off the import of funcs.
      boolean isOrganizeTypesBySourceFile()
      Option to organize imported datatypes into sub-folders based on their source file name.
      boolean isOutputDIEInfo()
      Option to control tagging data types and functions with their DWARF DIE record number.
      boolean isOutputInlineFuncComments()
      Option to control tagging inlined-functions with comments.
      boolean isOutputLexicalBlockComments()
      Option to control tagging lexical blocks with Ghidra comments.
      boolean isOutputSourceLocationInfo()
      Option to control tagging data types and functions with their source code location (ie.
      boolean isPreloadAllDIEs()
      Option to cause the DWARF parser to load all DWARF records into memory, instead of processing one compile unit at a time.
      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.
      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.
      • Methods inherited from class java.lang.Object

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

      • DWARFImportOptions

        public DWARFImportOptions()
    • Method Detail

      • 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.