Data Structures |
| struct | dwarf2_abbrev_entry_attr_t |
| struct | dwarf2_abbrev_entry_t |
| struct | dwarf2_block |
| struct | attribute |
| struct | dwarf2_debug_info_t |
| struct | dwarf2_section_t |
| struct | dwarf2_traverse_context_t |
| struct | dwarf2_parse_context_t |
| struct | dwarf2_module_info_s |
| struct | dwarf2_subprogram_t |
| struct | frame_state |
| struct | frame_info |
Defines |
| #define | NONAMELESSUNION |
| #define | sc_void 0 |
| #define | sc_int1 1 |
| #define | sc_int2 2 |
| #define | sc_int4 3 |
| #define | sc_num 4 |
| #define | loc_dwarf2_location_list (loc_user + 0) |
| #define | loc_dwarf2_block (loc_user + 1) |
| #define | Wine_DW_no_register 0x7FFFFFFF |
| #define | NB_FRAME_REGS 64 |
| #define | MAX_SAVED_STATES 16 |
Enumerations |
| enum | dwarf2_sections {
section_debug,
section_string,
section_abbrev,
section_line,
section_ranges,
section_max
} |
| enum | reg_rule {
RULE_UNSET,
RULE_UNDEFINED,
RULE_SAME,
RULE_CFA_OFFSET,
RULE_OTHER_REG,
RULE_EXPRESSION,
RULE_VAL_EXPRESSION
} |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (dbghelp_dwarf) |
| static struct symt * | dwarf2_parse_enumeration_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *entry) |
| static unsigned char | dwarf2_get_byte (const unsigned char *ptr) |
| static unsigned char | dwarf2_parse_byte (dwarf2_traverse_context_t *ctx) |
| static unsigned short | dwarf2_get_u2 (const unsigned char *ptr) |
| static unsigned short | dwarf2_parse_u2 (dwarf2_traverse_context_t *ctx) |
| static unsigned long | dwarf2_get_u4 (const unsigned char *ptr) |
| static unsigned long | dwarf2_parse_u4 (dwarf2_traverse_context_t *ctx) |
| static DWORD64 | dwarf2_get_u8 (const unsigned char *ptr) |
| static DWORD64 | dwarf2_parse_u8 (dwarf2_traverse_context_t *ctx) |
| static unsigned long | dwarf2_get_leb128_as_unsigned (const unsigned char *ptr, const unsigned char **end) |
| static unsigned long | dwarf2_leb128_as_unsigned (dwarf2_traverse_context_t *ctx) |
| static long | dwarf2_get_leb128_as_signed (const unsigned char *ptr, const unsigned char **end) |
| static long | dwarf2_leb128_as_signed (dwarf2_traverse_context_t *ctx) |
| static unsigned | dwarf2_leb128_length (const dwarf2_traverse_context_t *ctx) |
| static unsigned long | dwarf2_get_addr (const unsigned char *ptr, unsigned word_size) |
| static unsigned long | dwarf2_parse_addr (dwarf2_traverse_context_t *ctx) |
| static const char * | dwarf2_debug_traverse_ctx (const dwarf2_traverse_context_t *ctx) |
| static const char * | dwarf2_debug_ctx (const dwarf2_parse_context_t *ctx) |
| static const char * | dwarf2_debug_di (const dwarf2_debug_info_t *di) |
| static dwarf2_abbrev_entry_t * | dwarf2_abbrev_table_find_entry (const struct sparse_array *abbrev_table, unsigned long entry_code) |
| static void | dwarf2_parse_abbrev_set (dwarf2_traverse_context_t *abbrev_ctx, struct sparse_array *abbrev_table, struct pool *pool) |
| static void | dwarf2_swallow_attribute (dwarf2_traverse_context_t *ctx, const dwarf2_abbrev_entry_attr_t *abbrev_attr) |
| static void | dwarf2_fill_attr (const dwarf2_parse_context_t *ctx, const dwarf2_abbrev_entry_attr_t *abbrev_attr, const unsigned char *data, struct attribute *attr) |
| static BOOL | dwarf2_find_attribute (const dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di, unsigned at, struct attribute *attr) |
| static void | dwarf2_load_one_entry (dwarf2_parse_context_t *, dwarf2_debug_info_t *) |
| static unsigned | dwarf2_map_register (int regno) |
| static enum location_error | compute_location (dwarf2_traverse_context_t *ctx, struct location *loc, HANDLE hproc, const struct location *frame) |
| static BOOL | dwarf2_compute_location_attr (dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di, unsigned long dw, struct location *loc, const struct location *frame) |
| static struct symt * | dwarf2_lookup_type (dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di) |
| static const char * | dwarf2_get_cpp_name (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, const char *name) |
| static BOOL | dwarf2_read_range (dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di, unsigned long *plow, unsigned long *phigh) |
| static BOOL | dwarf2_read_one_debug_info (dwarf2_parse_context_t *ctx, dwarf2_traverse_context_t *traverse, dwarf2_debug_info_t *parent_di, dwarf2_debug_info_t **pdi) |
| static struct vector * | dwarf2_get_di_children (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_base_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_typedef (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_pointer_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_array_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_const_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_volatile_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_reference_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static void | dwarf2_parse_udt_member (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, struct symt_udt *parent) |
| static struct symt * | dwarf2_parse_subprogram (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_udt_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, enum UdtKind udt) |
| static void | dwarf2_parse_enumerator (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, struct symt_enum *parent) |
| static void | dwarf2_parse_variable (dwarf2_subprogram_t *subpgm, struct symt_block *block, dwarf2_debug_info_t *di) |
| static void | dwarf2_parse_subprogram_label (dwarf2_subprogram_t *subpgm, const dwarf2_debug_info_t *di) |
| static void | dwarf2_parse_subprogram_block (dwarf2_subprogram_t *subpgm, struct symt_block *parent_block, dwarf2_debug_info_t *di) |
| static void | dwarf2_parse_inlined_subroutine (dwarf2_subprogram_t *subpgm, struct symt_block *parent_block, dwarf2_debug_info_t *di) |
| static struct symt * | dwarf2_parse_subroutine_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static void | dwarf2_parse_namespace (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di) |
| static void | dwarf2_set_line_number (struct module *module, unsigned long address, const struct vector *v, unsigned file, unsigned line) |
| static BOOL | dwarf2_parse_line_numbers (const dwarf2_section_t *sections, dwarf2_parse_context_t *ctx, const char *compile_dir, unsigned long offset) |
| static BOOL | dwarf2_parse_compilation_unit (const dwarf2_section_t *sections, struct module *module, const struct elf_thunk_area *thunks, dwarf2_traverse_context_t *mod_ctx, unsigned long load_offset) |
| static BOOL | dwarf2_lookup_loclist (const struct module_format *modfmt, const BYTE *start, unsigned long ip, dwarf2_traverse_context_t *lctx) |
| static enum location_error | loc_compute_frame (struct process *pcs, const struct module_format *modfmt, const struct symt_function *func, DWORD_PTR ip, struct location *frame) |
| static ULONG_PTR | dwarf2_parse_augmentation_ptr (dwarf2_traverse_context_t *ctx, unsigned char encoding) |
| static BOOL | parse_cie_details (dwarf2_traverse_context_t *ctx, struct frame_info *info) |
| static BOOL | dwarf2_get_cie (unsigned long addr, struct module *module, DWORD_PTR delta, dwarf2_traverse_context_t *fde_ctx, dwarf2_traverse_context_t *cie_ctx, struct frame_info *info, BOOL in_eh_frame) |
| static int | valid_reg (ULONG_PTR reg) |
| static void | execute_cfa_instructions (dwarf2_traverse_context_t *ctx, ULONG_PTR last_ip, struct frame_info *info) |
| static ULONG_PTR | get_context_reg (CONTEXT *context, ULONG_PTR dw_reg) |
| static void | set_context_reg (struct cpu_stack_walk *csw, CONTEXT *context, ULONG_PTR dw_reg, ULONG_PTR val, BOOL isdebuggee) |
| static void | copy_context_reg (CONTEXT *dstcontext, ULONG_PTR dwregdst, CONTEXT *srccontext, ULONG_PTR dwregsrc) |
| static ULONG_PTR | eval_expression (const struct module *module, struct cpu_stack_walk *csw, const unsigned char *zp, CONTEXT *context) |
| static void | apply_frame_state (const struct module *module, struct cpu_stack_walk *csw, CONTEXT *context, struct frame_state *state, ULONG_PTR *cfa) |
| BOOL | dwarf2_virtual_unwind (struct cpu_stack_walk *csw, ULONG_PTR ip, CONTEXT *context, ULONG_PTR *cfa) |
| static void | dwarf2_location_compute (struct process *pcs, const struct module_format *modfmt, const struct symt_function *func, struct location *loc) |
| static void | dwarf2_module_remove (struct process *pcs, struct module_format *modfmt) |
| static BOOL | dwarf2_init_section (dwarf2_section_t *section, struct image_file_map *fmap, const char *sectname, struct image_section_map *ism) |
| BOOL | dwarf2_parse (struct module *module, unsigned long load_offset, const struct elf_thunk_area *thunks, struct image_file_map *fmap) |