Data Structures |
| struct | pool |
| class | vector< _Tp, > |
| struct | sparse_array |
| struct | hash_table_elt |
| struct | hash_table_bucket |
| struct | hash_table |
| struct | hash_table_iter |
| struct | location |
| struct | symt |
| struct | symt_ht |
| struct | symt_block |
| struct | symt_compiland |
| struct | symt_data |
| struct | symt_function |
| struct | symt_hierarchy_point |
| struct | symt_public |
| struct | symt_thunk |
| struct | symt_array |
| struct | symt_basic |
| struct | symt_enum |
| struct | symt_function_signature |
| struct | symt_function_arg_type |
| struct | symt_pointer |
| struct | symt_typedef |
| struct | symt_udt |
| struct | module_format |
| struct | module |
| struct | process |
| struct | line_info |
| struct | module_pair |
| struct | pdb_lookup |
| struct | cpu_stack_walk |
| struct | cpu |
| struct | pdb_cmd_pair |
Defines |
| #define | GET_ENTRY(__i, __t, __f) ((__t*)((char*)(__i) - FIELD_OFFSET(__t,__f))) |
| #define | SYMOPT_WINE_WITH_NATIVE_MODULES 0x40000000 |
| #define | MACHO_NO_MAP ((const void*)-1) |
Typedefs |
| typedef BOOL(* | enum_modules_cb )(const WCHAR *, unsigned long addr, void *user) |
| typedef void(* | stabs_def_cb )(struct module *module, unsigned long load_offset, const char *name, unsigned long offset, BOOL is_public, BOOL is_global, unsigned char other, struct symt_compiland *compiland, void *user) |
Enumerations |
| enum | location_kind {
loc_error,
loc_unavailable,
loc_absolute,
loc_register,
loc_regrel,
loc_tlsrel,
loc_user
} |
| enum | location_error {
loc_err_internal = -1,
loc_err_too_complex = -2,
loc_err_out_of_scope = -3,
loc_err_cant_read = -4,
loc_err_no_location = -5
} |
| enum | module_type {
DMT_UNKNOWN,
DMT_ELF,
DMT_PE,
DMT_MACHO,
DMT_PDB,
DMT_DBG
} |
| enum | format_info {
DFI_ELF,
DFI_PE,
DFI_MACHO,
DFI_DWARF,
DFI_PDB,
DFI_LAST
} |
| enum | pdb_kind { PDB_JG,
PDB_DS
} |
| enum | cpu_addr { cpu_addr_pc,
cpu_addr_stack,
cpu_addr_frame
} |
Functions |
| void | pool_init (struct pool *a, size_t arena_size) DECLSPEC_HIDDEN |
| void | pool_destroy (struct pool *a) DECLSPEC_HIDDEN |
| void * | pool_alloc (struct pool *a, size_t len) DECLSPEC_HIDDEN |
| char * | pool_strdup (struct pool *a, const char *str) DECLSPEC_HIDDEN |
| void | vector_init (struct vector *v, unsigned elt_sz, unsigned bucket_sz) DECLSPEC_HIDDEN |
| unsigned | vector_length (const struct vector *v) DECLSPEC_HIDDEN |
| void * | vector_at (const struct vector *v, unsigned pos) DECLSPEC_HIDDEN |
| void * | vector_add (struct vector *v, struct pool *pool) DECLSPEC_HIDDEN |
| void | sparse_array_init (struct sparse_array *sa, unsigned elt_sz, unsigned bucket_sz) DECLSPEC_HIDDEN |
| void * | sparse_array_find (const struct sparse_array *sa, unsigned long idx) DECLSPEC_HIDDEN |
| void * | sparse_array_add (struct sparse_array *sa, unsigned long key, struct pool *pool) DECLSPEC_HIDDEN |
| unsigned | sparse_array_length (const struct sparse_array *sa) DECLSPEC_HIDDEN |
| void | hash_table_init (struct pool *pool, struct hash_table *ht, unsigned num_buckets) DECLSPEC_HIDDEN |
| void | hash_table_destroy (struct hash_table *ht) DECLSPEC_HIDDEN |
| void | hash_table_add (struct hash_table *ht, struct hash_table_elt *elt) DECLSPEC_HIDDEN |
| void | hash_table_iter_init (const struct hash_table *ht, struct hash_table_iter *hti, const char *name) DECLSPEC_HIDDEN |
| void * | hash_table_iter_up (struct hash_table_iter *hti) DECLSPEC_HIDDEN |
| struct process * | process_find_by_handle (HANDLE hProcess) DECLSPEC_HIDDEN |
| BOOL | validate_addr64 (DWORD64 addr) DECLSPEC_HIDDEN |
| BOOL | pcs_callback (const struct process *pcs, ULONG action, void *data) DECLSPEC_HIDDEN |
| void * | fetch_buffer (struct process *pcs, unsigned size) DECLSPEC_HIDDEN |
| const char * | wine_dbgstr_addr (const ADDRESS64 *addr) DECLSPEC_HIDDEN |
| struct cpu * | cpu_find (DWORD) DECLSPEC_HIDDEN |
| DWORD | calc_crc32 (int fd) DECLSPEC_HIDDEN |
| BOOL | elf_enum_modules (HANDLE hProc, enum_modules_cb, void *) DECLSPEC_HIDDEN |
| BOOL | elf_fetch_file_info (const WCHAR *name, DWORD_PTR *base, DWORD *size, DWORD *checksum) DECLSPEC_HIDDEN |
| BOOL | elf_load_debug_info (struct module *module) DECLSPEC_HIDDEN |
| struct module * | elf_load_module (struct process *pcs, const WCHAR *name, unsigned long) DECLSPEC_HIDDEN |
| BOOL | elf_read_wine_loader_dbg_info (struct process *pcs) DECLSPEC_HIDDEN |
| BOOL | elf_synchronize_module_list (struct process *pcs) DECLSPEC_HIDDEN |
| int | elf_is_in_thunk_area (unsigned long addr, const struct elf_thunk_area *thunks) DECLSPEC_HIDDEN |
| BOOL | macho_enum_modules (HANDLE hProc, enum_modules_cb, void *) DECLSPEC_HIDDEN |
| BOOL | macho_fetch_file_info (const WCHAR *name, DWORD_PTR *base, DWORD *size, DWORD *checksum) DECLSPEC_HIDDEN |
| BOOL | macho_load_debug_info (struct module *module, struct macho_file_map *fmap) DECLSPEC_HIDDEN |
| struct module * | macho_load_module (struct process *pcs, const WCHAR *name, unsigned long) DECLSPEC_HIDDEN |
| BOOL | macho_read_wine_loader_dbg_info (struct process *pcs) DECLSPEC_HIDDEN |
| BOOL | macho_synchronize_module_list (struct process *pcs) DECLSPEC_HIDDEN |
| struct module * | module_find_by_addr (const struct process *pcs, unsigned long addr, enum module_type type) DECLSPEC_HIDDEN |
| struct module * | module_find_by_nameW (const struct process *pcs, const WCHAR *name) DECLSPEC_HIDDEN |
| struct module * | module_find_by_nameA (const struct process *pcs, const char *name) DECLSPEC_HIDDEN |
| struct module * | module_is_already_loaded (const struct process *pcs, const WCHAR *imgname) DECLSPEC_HIDDEN |
| BOOL | module_get_debug (struct module_pair *) DECLSPEC_HIDDEN |
| struct module * | module_new (struct process *pcs, const WCHAR *name, enum module_type type, BOOL virtual, DWORD64 addr, DWORD64 size, unsigned long stamp, unsigned long checksum) DECLSPEC_HIDDEN |
| struct module * | module_get_containee (const struct process *pcs, const struct module *inner) DECLSPEC_HIDDEN |
| enum module_type | module_get_type_by_name (const WCHAR *name) DECLSPEC_HIDDEN |
| void | module_reset_debug_info (struct module *module) DECLSPEC_HIDDEN |
| BOOL | module_remove (struct process *pcs, struct module *module) DECLSPEC_HIDDEN |
| void | module_set_module (struct module *module, const WCHAR *name) DECLSPEC_HIDDEN |
| const WCHAR * | get_wine_loader_name (void) DECLSPEC_HIDDEN |
| BOOL | pe_load_debug_directory (const struct process *pcs, struct module *module, const BYTE *mapping, const IMAGE_SECTION_HEADER *sectp, DWORD nsect, const IMAGE_DEBUG_DIRECTORY *dbg, int nDbg) DECLSPEC_HIDDEN |
| BOOL | pdb_fetch_file_info (const struct pdb_lookup *pdb_lookup, unsigned *matched) DECLSPEC_HIDDEN |
| BOOL | pdb_virtual_unwind (struct cpu_stack_walk *csw, DWORD_PTR ip, CONTEXT *context, struct pdb_cmd_pair *cpair) DECLSPEC_HIDDEN |
| BOOL | path_find_symbol_file (const struct process *pcs, PCSTR full_path, const GUID *guid, DWORD dw1, DWORD dw2, PSTR buffer, BOOL *is_unmatched) DECLSPEC_HIDDEN |
| BOOL | pe_load_nt_header (HANDLE hProc, DWORD64 base, IMAGE_NT_HEADERS *nth) DECLSPEC_HIDDEN |
| struct module * | pe_load_native_module (struct process *pcs, const WCHAR *name, HANDLE hFile, DWORD64 base, DWORD size) DECLSPEC_HIDDEN |
| struct module * | pe_load_builtin_module (struct process *pcs, const WCHAR *name, DWORD64 base, DWORD64 size) DECLSPEC_HIDDEN |
| BOOL | pe_load_debug_info (const struct process *pcs, struct module *module) DECLSPEC_HIDDEN |
| const char * | pe_map_directory (struct module *module, int dirno, DWORD *size) DECLSPEC_HIDDEN |
| void | pe_unmap_directoy (struct module *module, int dirno) DECLSPEC_HIDDEN |
| unsigned | source_new (struct module *module, const char *basedir, const char *source) DECLSPEC_HIDDEN |
| const char * | source_get (const struct module *module, unsigned idx) DECLSPEC_HIDDEN |
| BOOL | stabs_parse (struct module *module, unsigned long load_offset, const void *stabs, int stablen, const char *strs, int strtablen, stabs_def_cb callback, void *user) DECLSPEC_HIDDEN |
| BOOL | dwarf2_parse (struct module *module, unsigned long load_offset, const struct elf_thunk_area *thunks, struct image_file_map *fmap) DECLSPEC_HIDDEN |
| BOOL | dwarf2_virtual_unwind (struct cpu_stack_walk *csw, DWORD_PTR ip, CONTEXT *context, ULONG_PTR *cfa) DECLSPEC_HIDDEN |
| BOOL | sw_read_mem (struct cpu_stack_walk *csw, DWORD64 addr, void *ptr, DWORD sz) DECLSPEC_HIDDEN |
| DWORD64 | sw_xlat_addr (struct cpu_stack_walk *csw, ADDRESS64 *addr) DECLSPEC_HIDDEN |
| void * | sw_table_access (struct cpu_stack_walk *csw, DWORD64 addr) DECLSPEC_HIDDEN |
| DWORD64 | sw_module_base (struct cpu_stack_walk *csw, DWORD64 addr) DECLSPEC_HIDDEN |
| const char * | symt_get_name (const struct symt *sym) DECLSPEC_HIDDEN |
| BOOL | symt_get_address (const struct symt *type, ULONG64 *addr) DECLSPEC_HIDDEN |
| int | symt_cmp_addr (const void *p1, const void *p2) DECLSPEC_HIDDEN |
| void | copy_symbolW (SYMBOL_INFOW *siw, const SYMBOL_INFO *si) DECLSPEC_HIDDEN |
| struct symt_ht * | symt_find_nearest (struct module *module, DWORD_PTR addr) DECLSPEC_HIDDEN |
| struct symt_compiland * | symt_new_compiland (struct module *module, unsigned long address, unsigned src_idx) DECLSPEC_HIDDEN |
| struct symt_public * | symt_new_public (struct module *module, struct symt_compiland *parent, const char *typename, unsigned long address, unsigned size) DECLSPEC_HIDDEN |
| struct symt_data * | symt_new_global_variable (struct module *module, struct symt_compiland *parent, const char *name, unsigned is_static, struct location loc, unsigned long size, struct symt *type) DECLSPEC_HIDDEN |
| struct symt_function * | symt_new_function (struct module *module, struct symt_compiland *parent, const char *name, unsigned long addr, unsigned long size, struct symt *type) DECLSPEC_HIDDEN |
| BOOL | symt_normalize_function (struct module *module, const struct symt_function *func) DECLSPEC_HIDDEN |
| void | symt_add_func_line (struct module *module, struct symt_function *func, unsigned source_idx, int line_num, unsigned long offset) DECLSPEC_HIDDEN |
| struct symt_data * | symt_add_func_local (struct module *module, struct symt_function *func, enum DataKind dt, const struct location *loc, struct symt_block *block, struct symt *type, const char *name) DECLSPEC_HIDDEN |
| struct symt_block * | symt_open_func_block (struct module *module, struct symt_function *func, struct symt_block *block, unsigned pc, unsigned len) DECLSPEC_HIDDEN |
| struct symt_block * | symt_close_func_block (struct module *module, const struct symt_function *func, struct symt_block *block, unsigned pc) DECLSPEC_HIDDEN |
| struct symt_hierarchy_point * | symt_add_function_point (struct module *module, struct symt_function *func, enum SymTagEnum point, const struct location *loc, const char *name) DECLSPEC_HIDDEN |
| BOOL | symt_fill_func_line_info (const struct module *module, const struct symt_function *func, DWORD64 addr, IMAGEHLP_LINE64 *line) DECLSPEC_HIDDEN |
| BOOL | symt_get_func_line_next (const struct module *module, PIMAGEHLP_LINE64 line) DECLSPEC_HIDDEN |
| struct symt_thunk * | symt_new_thunk (struct module *module, struct symt_compiland *parent, const char *name, THUNK_ORDINAL ord, unsigned long addr, unsigned long size) DECLSPEC_HIDDEN |
| struct symt_data * | symt_new_constant (struct module *module, struct symt_compiland *parent, const char *name, struct symt *type, const VARIANT *v) DECLSPEC_HIDDEN |
| struct symt_hierarchy_point * | symt_new_label (struct module *module, struct symt_compiland *compiland, const char *name, unsigned long address) DECLSPEC_HIDDEN |
| struct symt * | symt_index2ptr (struct module *module, DWORD id) DECLSPEC_HIDDEN |
| DWORD | symt_ptr2index (struct module *module, const struct symt *sym) DECLSPEC_HIDDEN |
| void | symt_init_basic (struct module *module) DECLSPEC_HIDDEN |
| BOOL | symt_get_info (struct module *module, const struct symt *type, IMAGEHLP_SYMBOL_TYPE_INFO req, void *pInfo) DECLSPEC_HIDDEN |
| struct symt_basic * | symt_new_basic (struct module *module, enum BasicType, const char *typename, unsigned size) DECLSPEC_HIDDEN |
| struct symt_udt * | symt_new_udt (struct module *module, const char *typename, unsigned size, enum UdtKind kind) DECLSPEC_HIDDEN |
| BOOL | symt_set_udt_size (struct module *module, struct symt_udt *type, unsigned size) DECLSPEC_HIDDEN |
| BOOL | symt_add_udt_element (struct module *module, struct symt_udt *udt_type, const char *name, struct symt *elt_type, unsigned offset, unsigned size) DECLSPEC_HIDDEN |
| struct symt_enum * | symt_new_enum (struct module *module, const char *typename, struct symt *basetype) DECLSPEC_HIDDEN |
| BOOL | symt_add_enum_element (struct module *module, struct symt_enum *enum_type, const char *name, int value) DECLSPEC_HIDDEN |
| struct symt_array * | symt_new_array (struct module *module, int min, int max, struct symt *base, struct symt *index) DECLSPEC_HIDDEN |
| struct symt_function_signature * | symt_new_function_signature (struct module *module, struct symt *ret_type, enum CV_call_e call_conv) DECLSPEC_HIDDEN |
| BOOL | symt_add_function_signature_parameter (struct module *module, struct symt_function_signature *sig, struct symt *param) DECLSPEC_HIDDEN |
| struct symt_pointer * | symt_new_pointer (struct module *module, struct symt *ref_type, unsigned long size) DECLSPEC_HIDDEN |
| struct symt_typedef * | symt_new_typedef (struct module *module, struct symt *ref, const char *name) DECLSPEC_HIDDEN |
Variables |
| unsigned dbghelp_options | DECLSPEC_HIDDEN |