ReactOS 0.4.16-dev-340-g0540c21
|
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winver.h"
#include "dbghelp.h"
#include "objbase.h"
#include "oaidl.h"
#include "winnls.h"
#include "wine/list.h"
#include "wine/rbtree.h"
#include "cvconst.h"
Go to the source code of this file.
Classes | |
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 | loader_ops |
struct | process |
struct | line_info |
struct | module_pair |
struct | pdb_lookup |
struct | cpu_stack_walk |
struct | dump_memory |
struct | dump_memory64 |
struct | dump_module |
struct | dump_thread |
struct | dump_context |
union | ctx |
struct | cpu |
struct | _PEB32 |
struct | pdb_cmd_pair |
Typedefs | |
typedef BOOL(* | enum_modules_cb) (const WCHAR *, ULONG_PTR addr, void *user) |
typedef struct _PEB32 | PEB32 |
typedef void(* | stabs_def_cb) (struct module *module, ULONG_PTR load_offset, const char *name, ULONG_PTR 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 } |
Variables | |
unsigned dbghelp_options | DECLSPEC_HIDDEN |
Definition at line 416 of file dbghelp_private.h.
typedef void(* stabs_def_cb) (struct module *module, ULONG_PTR load_offset, const char *name, ULONG_PTR offset, BOOL is_public, BOOL is_global, unsigned char other, struct symt_compiland *compiland, void *user) |
Definition at line 732 of file dbghelp_private.h.
Enumerator | |
---|---|
cpu_addr_pc | |
cpu_addr_stack | |
cpu_addr_frame |
Definition at line 576 of file dbghelp_private.h.
Enumerator | |
---|---|
loc_err_internal | |
loc_err_too_complex | |
loc_err_out_of_scope | |
loc_err_cant_read | |
loc_err_no_location |
Definition at line 144 of file dbghelp_private.h.
Enumerator | |
---|---|
loc_error | |
loc_unavailable | |
loc_absolute | |
loc_register | |
loc_regrel | |
loc_tlsrel | |
loc_user |
Definition at line 134 of file dbghelp_private.h.
Enumerator | |
---|---|
DMT_UNKNOWN | |
DMT_ELF | |
DMT_PE | |
DMT_MACHO | |
DMT_PDB | |
DMT_DBG |
Definition at line 323 of file dbghelp_private.h.
Definition at line 874 of file dbghelp.c.
Referenced by elf_fetch_file_info(), elf_load_file_from_fmap(), image_check_debug_link(), macho_fetch_file_info(), and macho_load_file().
void copy_symbolW | ( | SYMBOL_INFOW * | siw, |
const SYMBOL_INFO * | si | ||
) |
Definition at line 1029 of file symbol.c.
Referenced by enum_types_AtoW(), sym_enumW(), and SymFromAddrW().
Definition at line 183 of file dbghelp.c.
Referenced by StackWalk(), and StackWalk64().
BOOL dwarf2_parse | ( | struct module * | module, |
ULONG_PTR | load_offset, | ||
const struct elf_thunk_area * | thunks, | ||
struct image_file_map * | fmap | ||
) |
Definition at line 3509 of file dwarf.c.
Referenced by elf_load_debug_info_from_map(), macho_load_debug_info(), and pe_load_dwarf().
BOOL dwarf2_virtual_unwind | ( | struct cpu_stack_walk * | csw, |
DWORD_PTR | ip, | ||
union ctx * | ctx, | ||
DWORD64 * | cfa | ||
) |
Definition at line 3258 of file dwarf.c.
Referenced by fetch_next_frame32().
int elf_is_in_thunk_area | ( | ULONG_PTR | addr, |
const struct elf_thunk_area * | thunks | ||
) |
Definition at line 602 of file elf_module.c.
Referenced by dwarf2_parse_subprogram(), and elf_new_wine_thunks().
Definition at line 1753 of file elf_module.c.
Referenced by check_live_target().
Definition at line 128 of file dbghelp.c.
Referenced by copy_line_W64_from_64(), and symt_fill_func_line_info().
Definition at line 37 of file path.c.
Referenced by elf_lookup_symtab(), FindDebugInfoFile(), is_wine_loader(), and test_query_process_image_file_name().
Definition at line 671 of file path.c.
Referenced by elf_map_file(), image_check_debug_link(), and macho_map_file().
Definition at line 150 of file module.c.
Referenced by elf_read_wine_loader_dbg_info(), and macho_search_loader().
void hash_table_add | ( | struct hash_table * | ht, |
struct hash_table_elt * | elt | ||
) |
Definition at line 378 of file storage.c.
Referenced by elf_hash_symtab(), macho_stabs_def_cb(), pev_set_value(), symt_add_module_ht(), symt_new_basic(), symt_new_typedef(), symt_new_udt(), and symt_ptr2index().
void hash_table_destroy | ( | struct hash_table * | ht | ) |
Definition at line 342 of file storage.c.
Referenced by module_remove(), and module_reset_debug_info().
Definition at line 334 of file storage.c.
Referenced by elf_load_debug_info(), macho_load_debug_info(), module_new(), and pev_init().
void hash_table_iter_init | ( | const struct hash_table * | ht, |
struct hash_table_iter * | hti, | ||
const char * | name | ||
) |
Definition at line 405 of file storage.c.
Referenced by codeview_add_type_struct(), elf_finish_stabs_info(), elf_lookup_symtab(), elf_new_public_symbols(), elf_new_wine_thunks(), find_name(), macho_finish_stabs(), pe_locate_with_coff_symbol_table(), pev_get_val(), pev_set_value(), SymEnumLines(), symt_enum_module(), symt_find_type_by_name(), and symt_ptr2index().
void * hash_table_iter_up | ( | struct hash_table_iter * | hti | ) |
Definition at line 422 of file storage.c.
Referenced by codeview_add_type_struct(), elf_finish_stabs_info(), elf_lookup_symtab(), elf_new_public_symbols(), elf_new_wine_thunks(), find_name(), macho_finish_stabs(), pe_locate_with_coff_symbol_table(), pev_get_val(), pev_set_value(), SymEnumLines(), symt_enum_module(), symt_find_type_by_name(), and symt_ptr2index().
Definition at line 1911 of file macho_module.c.
Referenced by check_live_target().
Definition at line 355 of file minidump.c.
Referenced by arm64_fetch_minidump_thread(), arm_fetch_minidump_thread(), dump_threads(), i386_fetch_minidump_thread(), x86_64_fetch_minidump_module(), and x86_64_fetch_minidump_thread().
struct module * module_find_by_addr | ( | const struct process * | pcs, |
DWORD64 | addr, | ||
enum module_type | type | ||
) |
Definition at line 420 of file module.c.
Referenced by dwarf2_virtual_unwind(), module_find_by_addr(), pdb_virtual_unwind(), sym_enum(), SymAddSymbolW(), SymEnumLines(), SymEnumSourceFilesW(), SymEnumTypes(), SymFromAddr(), SymFunctionTableAccess64(), SymGetLineFromAddr64(), SymGetLineNext64(), SymGetLinePrev64(), SymGetModuleBase64(), SymGetModuleInfoW64(), SymGetTypeFromName(), SymGetTypeInfo(), symt_enum_locals(), SymUnloadModule(), SymUnloadModule64(), and x86_64_fetch_minidump_module().
Definition at line 291 of file module.c.
Referenced by SymFromName().
Definition at line 279 of file module.c.
Referenced by module_find_by_nameA(), and SymEnumSourceFilesW().
Definition at line 349 of file module.c.
Referenced by sym_enum(), and SymFromName().
BOOL module_get_debug | ( | struct module_pair * | pair | ) |
Definition at line 374 of file module.c.
Referenced by dwarf2_virtual_unwind(), find_name(), pdb_virtual_unwind(), sym_enum(), SymAddSymbolW(), SymEnumLines(), SymEnumSourceFilesW(), SymEnumTypes(), SymFromAddr(), SymGetLineFromAddr64(), SymGetLineNext64(), SymGetLinePrev64(), SymGetTypeFromName(), SymGetTypeInfo(), and symt_enum_locals().
Definition at line 303 of file module.c.
Referenced by elf_load_cb(), elf_search_and_load_file(), macho_search_and_load_file(), and SymLoadModuleExW().
struct module * module_new | ( | struct process * | pcs, |
const WCHAR * | name, | ||
enum module_type | type, | ||
BOOL | virtual, | ||
DWORD64 | addr, | ||
DWORD64 | size, | ||
ULONG_PTR | stamp, | ||
ULONG_PTR | checksum | ||
) |
Definition at line 198 of file module.c.
Referenced by elf_load_file_from_fmap(), macho_load_file(), pe_load_builtin_module(), pe_load_native_module(), and SymLoadModuleExW().
Definition at line 889 of file module.c.
Referenced by elf_synchronize_module_list(), macho_synchronize_module_list(), SymCleanup(), SymUnloadModule(), and SymUnloadModule64().
Definition at line 142 of file module.c.
Referenced by elf_read_wine_loader_dbg_info(), macho_read_wine_loader_dbg_info(), module_new(), and SymLoadModuleExW().
BOOL path_find_symbol_file | ( | const struct process * | pcs, |
const struct module * | module, | ||
PCSTR | full_path, | ||
enum module_type | type, | ||
const GUID * | guid, | ||
DWORD | dw1, | ||
DWORD | dw2, | ||
WCHAR * | buffer, | ||
BOOL * | is_unmatched | ||
) |
Definition at line 596 of file path.c.
Referenced by map_pdb_file(), and pe_load_dbg_file().
Definition at line 731 of file dbghelp.c.
Referenced by module_get_debug(), and SymSetOptions().
BOOL pdb_fetch_file_info | ( | const struct pdb_lookup * | pdb_lookup, |
unsigned * | matched | ||
) |
Definition at line 2913 of file msc.c.
Referenced by module_find_cb().
BOOL pdb_virtual_unwind | ( | struct cpu_stack_walk * | csw, |
DWORD_PTR | ip, | ||
union ctx * | context, | ||
struct pdb_cmd_pair * | cpair | ||
) |
Definition at line 3200 of file msc.c.
Referenced by fetch_next_frame32().
struct module * pe_load_builtin_module | ( | struct process * | pcs, |
const WCHAR * | name, | ||
DWORD64 | base, | ||
DWORD64 | size | ||
) |
Definition at line 896 of file pe_module.c.
Referenced by SymLoadModuleExW().
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 | ||
) |
Definition at line 3391 of file msc.c.
Referenced by pe_load_dbg_file(), and pe_load_msc_debug_info().
Definition at line 751 of file pe_module.c.
Referenced by module_get_debug(), and pe_load_native_module().
struct module * pe_load_native_module | ( | struct process * | pcs, |
const WCHAR * | name, | ||
HANDLE | hFile, | ||
DWORD64 | base, | ||
DWORD | size | ||
) |
Definition at line 803 of file pe_module.c.
Referenced by SymLoadModuleExW().
BOOL pe_load_nt_header | ( | HANDLE | hProc, |
DWORD64 | base, | ||
IMAGE_NT_HEADERS * | nth | ||
) |
Definition at line 881 of file pe_module.c.
Referenced by fetch_pe_module_info_cb(), and pe_load_builtin_module().
Definition at line 331 of file pe_module.c.
Referenced by x86_64_fetch_minidump_module(), and x86_64_find_runtime_function().
Definition at line 89 of file storage.c.
Referenced by dwarf2_compute_location_attr(), dwarf2_get_cpp_name(), dwarf2_parse_abbrev_set(), dwarf2_parse_line_numbers(), dwarf2_parse_variable(), dwarf2_read_one_debug_info(), elf_hash_symtab(), hash_table_add(), macho_stabs_def_cb(), pev_set_value(), pool_strdup(), source_new(), symt_add_enum_element(), symt_add_func_local(), symt_add_function_point(), symt_add_function_signature_parameter(), symt_add_udt_element(), symt_new_array(), symt_new_basic(), symt_new_compiland(), symt_new_constant(), symt_new_enum(), symt_new_function(), symt_new_function_signature(), symt_new_global_variable(), symt_new_label(), symt_new_pointer(), symt_new_public(), symt_new_thunk(), symt_new_typedef(), symt_new_udt(), symt_open_func_block(), symt_ptr2index(), and vector_add().
Definition at line 50 of file storage.c.
Referenced by dwarf2_parse_compilation_unit(), elf_load_debug_info(), macho_load_debug_info(), module_remove(), pev_free(), and rsym_parse().
Definition at line 43 of file storage.c.
Referenced by dwarf2_parse_compilation_unit(), elf_load_debug_info(), macho_load_debug_info(), module_new(), pev_init(), and rsym_parse().
Definition at line 126 of file storage.c.
Referenced by dwarf2_parse_variable(), macho_stabs_def_cb(), pev_push(), pev_set_value(), symt_add_enum_element(), symt_add_func_local(), symt_add_function_point(), symt_add_udt_element(), symt_new_basic(), symt_new_constant(), symt_new_enum(), symt_new_function(), symt_new_global_variable(), symt_new_label(), symt_new_public(), symt_new_thunk(), symt_new_typedef(), symt_new_udt(), and symt_ptr2index().
Definition at line 99 of file dbghelp.c.
Referenced by dwarf2_virtual_unwind(), MiniDumpWriteDump(), pdb_virtual_unwind(), reg_cb64to32(), sym_enum(), sym_register_cb(), SymAddSymbolW(), SymEnumerateModulesW64(), SymEnumLines(), SymEnumSourceFilesW(), SymEnumTypes(), SymFindFileInPathW(), SymFromAddr(), SymFromName(), SymFunctionTableAccess64(), SymGetLineFromAddr64(), SymGetLineFromAddrW64(), SymGetLineNext64(), SymGetLinePrev64(), SymGetModuleBase64(), SymGetModuleInfoW64(), SymGetSearchPathW(), SymGetTypeFromName(), SymGetTypeInfo(), SymInitializeW(), SymLoadModuleExW(), SymRefreshModuleList(), SymSetContext(), SymSetScopeFromAddr(), SymSetSearchPathW(), SymUnloadModule(), SymUnloadModule64(), and x86_64_fetch_minidump_module().
Definition at line 335 of file dbghelp.c.
Referenced by elf_search_and_load_file(), macho_search_and_load_file(), and search_dll_path().
|
inlinestatic |
Definition at line 451 of file dbghelp_private.h.
Referenced by check_live_target(), dump_memory64_info(), dump_memory_info(), elf_enum_modules_internal(), image_uses_split_segs(), macho_enum_modules_internal(), macho_search_loader(), and x86_64_fetch_minidump_module().
BOOL rsym_parse | ( | struct module * | module, |
unsigned long | load_offset, | ||
const void * | rsym, | ||
int | rsymlen | ||
) |
Definition at line 79 of file rsym.c.
Referenced by pe_load_rsym().
BOOL search_dll_path | ( | const struct process * | process, |
const WCHAR * | name, | ||
BOOL(*)(void *, HANDLE, const WCHAR *) | match, | ||
void * | param | ||
) |
Definition at line 697 of file path.c.
Referenced by elf_search_and_load_file(), macho_search_and_load_file(), and pe_load_native_module().
BOOL search_unix_path | ( | const WCHAR * | name, |
const WCHAR * | path, | ||
BOOL(*)(void *, HANDLE, const WCHAR *) | match, | ||
void * | param | ||
) |
Definition at line 782 of file path.c.
Referenced by elf_search_and_load_file(), and macho_search_and_load_file().
Definition at line 130 of file source.c.
Referenced by coff_process_info(), dwarf2_set_line_number(), elf_lookup_symtab(), SymEnumLines(), SymGetLinePrev64(), symt_add_func_line(), symt_fill_func_line_info(), symt_get_func_line_next(), and symt_new_compiland().
Definition at line 66 of file source.c.
Referenced by codeview_snarf(), codeview_snarf_linetab(), codeview_snarf_linetab2(), coff_add_file(), dwarf2_parse_compilation_unit(), dwarf2_parse_line_numbers(), elf_hash_symtab(), pe_load_coff_symbol_table(), rsym_parse(), and stabs_parse().
Definition at line 281 of file storage.c.
Referenced by dwarf2_parse_abbrev_set(), dwarf2_read_one_debug_info(), and rsym_parse().
void * sparse_array_find | ( | const struct sparse_array * | sa, |
ULONG_PTR | idx | ||
) |
Definition at line 271 of file storage.c.
Referenced by dwarf2_abbrev_table_find_entry(), dwarf2_find_attribute(), dwarf2_get_cpp_name(), dwarf2_get_di_children(), dwarf2_lookup_type(), and rsym_parse().
void sparse_array_init | ( | struct sparse_array * | sa, |
unsigned | elt_sz, | ||
unsigned | bucket_sz | ||
) |
Definition at line 213 of file storage.c.
Referenced by dwarf2_parse_abbrev_set(), dwarf2_parse_compilation_unit(), and rsym_parse().
unsigned sparse_array_length | ( | const struct sparse_array * | sa | ) |
Definition at line 314 of file storage.c.
Referenced by dwarf2_parse_abbrev_set().
BOOL stabs_parse | ( | struct module * | module, |
ULONG_PTR | load_offset, | ||
const char * | stabs, | ||
size_t | nstab, | ||
size_t | stabsize, | ||
const char * | strs, | ||
int | strtablen, | ||
stabs_def_cb | callback, | ||
void * | user | ||
) |
Definition at line 1241 of file stabs.c.