Class DWARFImportOptions
java.lang.Object
ghidra.app.util.bin.format.dwarf4.next.DWARFImportOptions
Import options exposed by the
DWARFAnalyzer-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintOption to skip DWARF import if the DWARF record count is too large.intOption to control how long DWARF symbol names are allowed to be before being truncated.ghidra.app.plugin.core.analysis.AnalysisOptionsUpdaterbooleanOption 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.booleanOption to control creating FunctionSignature datatypes for each function defintion found in the DWARF debug data.booleanOption to control eliding typedef creation if the dest type has the same name.booleanOption to turn on/off the import of data types.booleanOption to turn on/off the import of funcs.booleanbooleanOption to organize imported datatypes into sub-folders based on their source file name.booleanOption to control tagging data types and functions with their DWARF DIE record number.booleanOption to control tagging inlined-functions with comments.booleanOption to control tagging lexical blocks with Ghidra comments.booleanOption to control tagging data types and functions with their source code location (ie.booleanOption to cause the DWARF parser to load all DWARF records into memory, instead of processing one compile unit at a time.booleanOption 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.booleanOption to enable packing on structures/unions created during the DWARF import.voidoptionsChanged(Options options) voidregisterOptions(Options options) voidsetCopyRenameAnonTypes(boolean b) Option to control a feature that copies anonymous types into a structure's "namespace" CategoryPath and giving that anonymousfunction.getEntryPoint() type a new name based on the structure's field's name.voidsetCreateFuncSignatures(boolean createFuncSignatures) Option to control creating FunctionSignature datatypes for each function defintion found in the DWARF debug data.voidsetElideTypedefsWithSameName(boolean elide_typedefs_with_same_name) Option to control eliding typedef creation if the dest type has the same name.voidsetImportDataTypes(boolean importDataTypes) Option to turn on/off the import of data types.voidsetImportFuncs(boolean output_Funcs) voidsetImportLimitDIECount(int import_limit_die_count) Option to skip DWARF import if the DWARF record count is too large.voidsetImportLocalVariables(boolean importLocalVariables) voidsetNameLengthCutoff(int name_length_cutoff) Option to control how long DWARF symbol names are allowed to be before being truncated.voidsetOrganizeTypesBySourceFile(boolean organizeTypesBySourceFile) Option to organize imported datatypes into sub-folders based on their source file name.voidsetOutputDIEInfo(boolean output_DWARF_die_info) Option to control tagging data types and functions with their DWARF DIE record number.voidsetOutputInlineFuncComments(boolean output_InlineFunc_comments) voidsetOutputLexicalBlockComments(boolean output_LexicalBlock_comments) Option to control tagging lexical blocks with Ghidra comments.voidsetOutputSourceLocationInfo(boolean output_DWARF_location_info) Option to control tagging data types and functions with their source code location (ie.voidsetPreloadAllDIEs(boolean b) Option to cause the DWARF parser to load all DWARF records into memory, instead of processing one compile unit at a time.voidsetSpecialCaseSizedBaseTypes(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.voidsetTryPackDataTypes(boolean tryPackStructs) Option to enable packing on structures created during the DWARF import.
-
Constructor Details
-
DWARFImportOptions
public DWARFImportOptions()Create new instance
-
-
Method Details
-
getOptionsUpdater
public ghidra.app.plugin.core.analysis.AnalysisOptionsUpdater getOptionsUpdater()- Returns:
AnalysisOptionsUpdater
-
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 anonymousfunction.getEntryPoint() 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
-
isImportLocalVariables
public boolean isImportLocalVariables() -
setImportLocalVariables
public void setImportLocalVariables(boolean importLocalVariables) -
registerOptions
- Parameters:
options-Options
-
optionsChanged
- Parameters:
options-Options
-