|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.cmpware.elf.Dwarf2
public class Dwarf2
This describes an ELF / DWARF2 debug section interpretation.
Copyright (c) 2004, 2005, 2006, 2007 Cmpware, Inc. All Rights Reserved.
| Constructor Summary | |
|---|---|
Dwarf2()
Constructor |
|
| Method Summary | |
|---|---|
int |
addrBytes()
This method returns the number of bytes in an address. |
static java.lang.String |
attributeData(int attrFormCode,
java.lang.Object o)
This method returns a string representation of the attribute data. |
static java.lang.String |
attributeName(int attribute)
This method returns a DWARF attribute name given the attribute code. |
static java.lang.String |
baseTypeName(int baseType)
This method returns a DWARF2 base type name given the base type code. |
static java.lang.String |
callFrameOpName(int instr)
This method returns a DWARF2 call frame instruction name given the call frame instruction code. |
static java.lang.String |
formName(int form)
This method returns a DWARF2 form name given the form code. |
int |
getAddr(java.lang.String dirName,
java.lang.String fileName,
int lineNumber)
This method returns the address associated with a particular line number in a file. |
java.util.Vector |
getErrorList()
This method returns the list of errors. |
LocationList |
getLocationList(int offset)
This method returns the Location List associated with an offset value in the .debug_loc section. |
java.lang.String |
getSourceDirName(int addr)
This method takes in an address (often the Program Counter of a running program) and returns the directory of the file containing the source code for this portion of the code. |
java.lang.String |
getSourceFileName(int addr)
This method takes in an address (often the Program Counter of a running program) and returns the name of the file containing the source code for this portion of the code. |
int |
getSourceLine(int addr)
This method returns the line number in the source code file given a memory address of an instruction. |
Tag[] |
getTags()
This method returns an array of Tags containing all the DWARF2 tags. |
Scope |
getVariables()
This method returns the variables in this file as the top level (file) Scope. |
static java.lang.String |
hasChildrenName(int hasChildren)
This method returns a DWARF2 "has children" name for the given "has children" code. |
boolean |
isDwarf2()
This method returns true if valid DWARF2 information was found and false otherwise. |
static java.lang.String |
languageName(int lang)
This method returns a DWARF2 language name given the language code. |
void |
load(Elf elf)
This constructor loads the DWARF2 data structures with the sections from the ELF file data. |
void |
setError(java.lang.String s)
This method adds an error message to the list of errors. |
void |
setErrorList(java.util.Vector errorList)
This method sets the error list vector. |
static int |
SLEB128(ElfInputStream lebis)
This method returns a signed LEB128 integer. |
boolean |
swapBytes()
This method returns true if byte swapping is necessary when interpreting the DWARF2 data and false otherwise. |
static java.lang.String |
tagName(int tag)
This method returns a DWARF2 tag name given the tag code. |
java.lang.String |
toString()
This method returns a string representation of the DWARF data. |
static int |
ULEB128(ElfInputStream lebis)
This method returns an unsigned LEB128 integer. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String copyright
public static final int DW_TAG_null
public static final int DW_TAG_array_type
public static final int DW_TAG_class_type
public static final int DW_TAG_entry_point
public static final int DW_TAG_enumeration_type
public static final int DW_TAG_formal_parameter
public static final int DW_TAG_imported_declaration
public static final int DW_TAG_label
public static final int DW_TAG_lexical_block
public static final int DW_TAG_member
public static final int DW_TAG_pointer_type
public static final int DW_TAG_reference_type
public static final int DW_TAG_compile_unit
public static final int DW_TAG_string_type
public static final int DW_TAG_structure_type
public static final int DW_TAG_subroutine_type
public static final int DW_TAG_typedef
public static final int DW_TAG_union_type
public static final int DW_TAG_unspecified_parameters
public static final int DW_TAG_variant
public static final int DW_TAG_common_block
public static final int DW_TAG_common_inclusion
public static final int DW_TAG_inheritance
public static final int DW_TAG_inlined_subroutine
public static final int DW_TAG_module
public static final int DW_TAG_ptr_to_member_type
public static final int DW_TAG_set_type
public static final int DW_TAG_subrange_type
public static final int DW_TAG_with_stmt
public static final int DW_TAG_access_declaration
public static final int DW_TAG_base_type
public static final int DW_TAG_catch_block
public static final int DW_TAG_const_type
public static final int DW_TAG_constant
public static final int DW_TAG_enumerator
public static final int DW_TAG_file_type
public static final int DW_TAG_friend
public static final int DW_TAG_namelist
public static final int DW_TAG_namelist_item
public static final int DW_TAG_packed_type
public static final int DW_TAG_subprogram
public static final int DW_TAG_template_type_param
public static final int DW_TAG_template_value_param
public static final int DW_TAG_thrown_type
public static final int DW_TAG_try_block
public static final int DW_TAG_variant_part
public static final int DW_TAG_variable
public static final int DW_TAG_volatile_type
public static final int DW_TAG_lo_user
public static final int DW_TAG_hi_user
public static final int DW_CHILDREN_no
public static final int DW_CHILDREN_yes
public static final int DW_AT_null
public static final int DW_AT_sibling
public static final int DW_AT_location
public static final int DW_AT_name
public static final int DW_AT_ordering
public static final int DW_AT_byte_size
public static final int DW_AT_bit_offset
public static final int DW_AT_bit_size
public static final int DW_AT_stmt_list
public static final int DW_AT_low_pc
public static final int DW_AT_high_pc
public static final int DW_AT_language
public static final int DW_AT_discr
public static final int DW_AT_discr_value
public static final int DW_AT_visibility
public static final int DW_AT_import
public static final int DW_AT_string_length
public static final int DW_AT_common_reference
public static final int DW_AT_comp_dir
public static final int DW_AT_const_value
public static final int DW_AT_containing_type
public static final int DW_AT_default_value
public static final int DW_AT_inline
public static final int DW_AT_is_optional
public static final int DW_AT_lower_bound
public static final int DW_AT_producer
public static final int DW_AT_prototyped
public static final int DW_AT_return_addr
public static final int DW_AT_start_scope
public static final int DW_AT_stride_size
public static final int DW_AT_upper_bound
public static final int DW_AT_abstract_origin
public static final int DW_AT_accessibility
public static final int DW_AT_address_class
public static final int DW_AT_artificial
public static final int DW_AT_base_types
public static final int DW_AT_calling_convention
public static final int DW_AT_count
public static final int DW_AT_data_member_location
public static final int DW_AT_decl_column
public static final int DW_AT_decl_file
public static final int DW_AT_decl_line
public static final int DW_AT_declaration
public static final int DW_AT_discr_list
public static final int DW_AT_encoding
public static final int DW_AT_external
public static final int DW_AT_frame_base
public static final int DW_AT_friend
public static final int DW_AT_identifier_case
public static final int DW_AT_macro_info
public static final int DW_AT_namelist_item
public static final int DW_AT_priority
public static final int DW_AT_segment
public static final int DW_AT_specification
public static final int DW_AT_static_link
public static final int DW_AT_type
public static final int DW_AT_use_location
public static final int DW_AT_variable_parameter
public static final int DW_AT_virtuality
public static final int DW_AT_vtable_elem_location
public static final int DW_AT_lo_user
public static final int DW_AT_hi_user
public static final int DW_FORM_addr
public static final int DW_FORM_block2
public static final int DW_FORM_block4
public static final int DW_FORM_data2
public static final int DW_FORM_data4
public static final int DW_FORM_data8
public static final int DW_FORM_string
public static final int DW_FORM_block
public static final int DW_FORM_block1
public static final int DW_FORM_data1
public static final int DW_FORM_flag
public static final int DW_FORM_sdata
public static final int DW_FORM_strp
public static final int DW_FORM_udata
public static final int DW_FORM_ref_addr
public static final int DW_FORM_ref1
public static final int DW_FORM_ref2
public static final int DW_FORM_ref4
public static final int DW_FORM_ref8
public static final int DW_FORM_ref_udata
public static final int DW_FORM_indirect
public static final int DW_ATE_address
public static final int DW_ATE_boolean
public static final int DW_ATE_complex_float
public static final int DW_ATE_float
public static final int DW_ATE_signed
public static final int DW_ATE_signed_char
public static final int DW_ATE_unsigned
public static final int DW_ATE_unsigned_char
public static final int DW_ATE_lo_user
public static final int DW_ATE_hi_user
public static final int DW_ACCESS_public
public static final int DW_ACCESS_protected
public static final int DW_ACCESS_private
public static final int DW_VIS_local
public static final int DW_VIS_exported
public static final int DW_VIS_qualified
public static final int DW_VIRTUALITY_none
public static final int DW_VIRTUALITY_virtual
public static final int DW_VIRTUALITY_pure_virtual
public static final int DW_LANG_C89
public static final int DW_LANG_C
public static final int DW_LANG_Ada83
public static final int DW_LANG_C_plus_plus
public static final int DW_LANG_Cobol74
public static final int DW_LANG_Cobol85
public static final int DW_LANG_Fortran77
public static final int DW_LANG_Fortran90
public static final int DW_LANG_Pascal83
public static final int DW_LANG_Modula2
public static final int DW_LANG_lo_user
public static final int DW_LANG_hi_user
public static final int DW_ID_case_sensitive
public static final int DW_ID_up_case
public static final int DW_ID_down_case
public static final int DW_ID_case_insensitive
public static final int DW_CC_normal
public static final int DW_CC_program
public static final int DW_CC_nocall
public static final int DW_CC_lo_user
public static final int DW_CC_hi_user
public static final int DW_INL_not_inlined
public static final int DW_INL_inlined
public static final int DW_INL_declared_not_inlined
public static final int DW_INL_declared_inlined
public static final int DW_ORD_row_major
public static final int DW_ORD_col_major
public static final int DW_DSC_label
public static final int DW_DSC_range
public static final int DW_MACINFO_define
public static final int DW_MACINFO_undef
public static final int DW_MACINFO_start_file
public static final int DW_MACINFO_end_file
public static final int DW_MACINFO_vendor_ext
public static final int DW_CFA_advance_loc
public static final int DW_CFA_offset
public static final int DW_CFA_restore
public static final int DW_CFA_set_loc
public static final int DW_CFA_advance_loc1
public static final int DW_CFA_advance_loc2
public static final int DW_CFA_advance_loc4
public static final int DW_CFA_offset_extended
public static final int DW_CFA_restore_extended
public static final int DW_CFA_undefined
public static final int DW_CFA_same_value
public static final int DW_CFA_register
public static final int DW_CFA_remember_state
public static final int DW_CFA_restore_state
public static final int DW_CFA_def_cfa
public static final int DW_CFA_def_cfa_register
public static final int DW_CFA_def_cfa_offset
public static final int DW_CFA_nop
public static final int DW_CFA_lo_user
public static final int DW_CFA_hi_user
Dwarf2VariableInfo variables
| Constructor Detail |
|---|
public Dwarf2()
| Method Detail |
|---|
public void load(Elf elf)
elf - The data loaded from an ELF file.public java.lang.String getSourceFileName(int addr)
addr - The address.
public java.lang.String getSourceDirName(int addr)
addr - The address.
public int getSourceLine(int addr)
addr - The program counter / memory address
of an instruction.
public int getAddr(java.lang.String dirName,
java.lang.String fileName,
int lineNumber)
dirName - The directory name.fileName - The file name.lineNumber - The line number.
public Scope getVariables()
public boolean isDwarf2()
public java.util.Vector getErrorList()
public void setErrorList(java.util.Vector errorList)
errorList - The error list vector.public Tag[] getTags()
public LocationList getLocationList(int offset)
offset - the offset in the .debug_loc section.
public boolean swapBytes()
public int addrBytes()
public void setError(java.lang.String s)
s - the error string.public java.lang.String toString()
toString in class java.lang.Object
public static int ULEB128(ElfInputStream lebis)
throws java.io.IOException
lebis - The LEB128 input stream.
java.io.IOException - if there was an error reading
the ULEB128 data.
public static int SLEB128(ElfInputStream lebis)
throws java.io.IOException
lebis - The LEB128 input stream.
java.io.IOException - if there was an error reading
the ULEB128 data.
public static java.lang.String attributeData(int attrFormCode,
java.lang.Object o)
attrFormCode - The attribute form code.o - The object containing tha attribute. This
may be an Integer, Long, byte array of String.
public static java.lang.String tagName(int tag)
tag - The tag code.
public static java.lang.String hasChildrenName(int hasChildren)
hasChildren - The "has children" code.
public static java.lang.String attributeName(int attribute)
attribute - The attribute code.
public static java.lang.String formName(int form)
form - The form code.
public static java.lang.String baseTypeName(int baseType)
baseType - The base type code.
public static java.lang.String languageName(int lang)
lang - The language code.
public static java.lang.String callFrameOpName(int instr)
instr - The call frame instruction code.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||