Class DWARFImportOptions
- java.lang.Object
-
- ghidra.app.util.bin.format.dwarf4.next.DWARFImportOptions
-
public class DWARFImportOptions extends java.lang.Object
Import options exposed by theDWARFAnalyzer
-
-
Constructor Summary
Constructors Constructor Description DWARFImportOptions()
-
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.
-
-
-
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.
-
-