ReactOS  0.4.13-dev-257-gfabbd7c
dbghelp_private.h
Go to the documentation of this file.
1 /*
2  * File dbghelp_private.h - dbghelp internal definitions
3  *
4  * Copyright (C) 1995, Alexandre Julliard
5  * Copyright (C) 1996, Eric Youngdale.
6  * Copyright (C) 1999-2000, Ulrich Weigand.
7  * Copyright (C) 2004-2007, Eric Pouech.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
24 #pragma once
25 
26 #include <stdarg.h>
27 
28 #ifndef DBGHELP_STATIC_LIB
29 
30 #include "windef.h"
31 #include "winbase.h"
32 #include "winver.h"
33 #include "dbghelp.h"
34 #include "objbase.h"
35 #include "oaidl.h"
36 #include "winnls.h"
37 #include "wine/list.h"
38 #include "wine/unicode.h"
39 #include "wine/rbtree.h"
40 
41 #include "cvconst.h"
42 
43 #else /* DBGHELP_STATIC_LIB */
44 
45 #include <string.h>
46 #include "compat.h"
47 #include <wine/list.h>
48 #include <wine/rbtree.h>
49 #endif /* DBGHELP_STATIC_LIB */
50 
51 /* #define USE_STATS */
52 
53 struct pool /* poor's man */
54 {
55  struct list arena_list;
56  struct list arena_full;
57  size_t arena_size;
58 };
59 
60 void pool_init(struct pool* a, size_t arena_size) DECLSPEC_HIDDEN;
61 void pool_destroy(struct pool* a) DECLSPEC_HIDDEN;
62 void* pool_alloc(struct pool* a, size_t len) DECLSPEC_HIDDEN;
63 char* pool_strdup(struct pool* a, const char* str) DECLSPEC_HIDDEN;
64 
65 struct vector
66 {
67  void** buckets;
68  unsigned elt_size;
69  unsigned shift;
70  unsigned num_elts;
71  unsigned num_buckets;
73 };
74 
75 void vector_init(struct vector* v, unsigned elt_sz, unsigned bucket_sz) DECLSPEC_HIDDEN;
76 unsigned vector_length(const struct vector* v) DECLSPEC_HIDDEN;
77 void* vector_at(const struct vector* v, unsigned pos) DECLSPEC_HIDDEN;
78 void* vector_add(struct vector* v, struct pool* pool) DECLSPEC_HIDDEN;
79 
81 {
82  struct vector key2index;
83  struct vector elements;
84 };
85 
86 void sparse_array_init(struct sparse_array* sa, unsigned elt_sz, unsigned bucket_sz) DECLSPEC_HIDDEN;
87 void* sparse_array_find(const struct sparse_array* sa, unsigned long idx) DECLSPEC_HIDDEN;
88 void* sparse_array_add(struct sparse_array* sa, unsigned long key, struct pool* pool) DECLSPEC_HIDDEN;
89 unsigned sparse_array_length(const struct sparse_array* sa) DECLSPEC_HIDDEN;
90 
92 {
93  const char* name;
95 };
96 
98 {
101 };
102 
103 struct hash_table
104 {
105  unsigned num_elts;
106  unsigned num_buckets;
108  struct pool* pool;
109 };
110 
111 void hash_table_init(struct pool* pool, struct hash_table* ht,
112  unsigned num_buckets) DECLSPEC_HIDDEN;
114 void hash_table_add(struct hash_table* ht, struct hash_table_elt* elt) DECLSPEC_HIDDEN;
115 
117 {
118  const struct hash_table* ht;
120  int index;
121  int last;
122 };
123 
124 void hash_table_iter_init(const struct hash_table* ht,
125  struct hash_table_iter* hti, const char* name) DECLSPEC_HIDDEN;
127 
128 
129 extern unsigned dbghelp_options DECLSPEC_HIDDEN;
130 /* some more Wine extensions */
131 #define SYMOPT_WINE_WITH_NATIVE_MODULES 0x40000000
132 
133 enum location_kind {loc_error, /* reg is the error code */
134  loc_unavailable, /* location is not available */
135  loc_absolute, /* offset is the location */
136  loc_register, /* reg is the location */
137  loc_regrel, /* [reg+offset] is the location */
138  loc_tlsrel, /* offset is the address of the TLS index */
139  loc_user, /* value is debug information dependent,
140  reg & offset can be used ad libidem */
141 };
142 
143 enum location_error {loc_err_internal = -1, /* internal while computing */
144  loc_err_too_complex = -2, /* couldn't compute location (even at runtime) */
145  loc_err_out_of_scope = -3, /* variable isn't available at current address */
146  loc_err_cant_read = -4, /* couldn't read memory at given address */
147  loc_err_no_location = -5, /* likely optimized away (by compiler) */
148 };
149 
150 struct location
151 {
152  unsigned kind : 8,
153  reg;
154 #ifndef __REACTOS__
155  unsigned long offset;
156 #else
158 #endif
159 };
160 
161 struct symt
162 {
164 };
165 
166 struct symt_ht
167 {
168  struct symt symt;
169  struct hash_table_elt hash_elt; /* if global symbol or type */
170 };
171 
172 /* lexical tree */
174 {
175  struct symt symt;
176  unsigned long address;
177  unsigned long size;
178  struct symt* container; /* block, or func */
179  struct vector vchildren; /* sub-blocks & local variables */
180 };
181 
183 {
184  struct symt symt;
185  unsigned long address;
186  unsigned source;
187  struct vector vchildren; /* global variables & functions */
188 };
189 
190 struct symt_data
191 {
192  struct symt symt;
193  struct hash_table_elt hash_elt; /* if global symbol */
195  struct symt* container;
196  struct symt* type;
197  union /* depends on kind */
198  {
199  /* DataIs{Global, FileStatic}:
200  * with loc.kind
201  * loc_absolute loc.offset is address
202  * loc_tlsrel loc.offset is TLS index address
203  * DataIs{Local,Param}:
204  * with loc.kind
205  * loc_absolute not supported
206  * loc_register location is in register loc.reg
207  * loc_regrel location is at address loc.reg + loc.offset
208  * >= loc_user ask debug info provider for resolution
209  */
210  struct location var;
211  /* DataIs{Member} (all values are in bits, not bytes) */
212  struct
213  {
214  long offset;
215  unsigned long length;
216  } member;
217  /* DataIsConstant */
219  } u;
220 };
221 
223 {
224  struct symt symt;
225  struct hash_table_elt hash_elt; /* if global symbol */
226  unsigned long address;
227  struct symt* container; /* compiland */
228  struct symt* type; /* points to function_signature */
229  unsigned long size;
230  struct vector vlines;
231  struct vector vchildren; /* locals, params, blocks, start/end, labels */
232 };
233 
235 {
236  struct symt symt; /* either SymTagFunctionDebugStart, SymTagFunctionDebugEnd, SymTagLabel */
237  struct hash_table_elt hash_elt; /* if label (and in compiland's hash table if global) */
238  struct symt* parent; /* symt_function or symt_compiland */
239  struct location loc;
240 };
241 
243 {
244  struct symt symt;
246  struct symt* container; /* compiland */
248  unsigned long address;
249  unsigned long size;
250 };
251 
253 {
254  struct symt symt;
256  struct symt* container; /* compiland */
257  unsigned long address;
258  unsigned long size;
259  THUNK_ORDINAL ordinal; /* FIXME: doesn't seem to be accessible */
260 };
261 
262 /* class tree */
264 {
265  struct symt symt;
266  int start;
267  int end; /* end index if > 0, or -array_len (in bytes) if < 0 */
268  struct symt* base_type;
269  struct symt* index_type;
270 };
271 
273 {
274  struct symt symt;
276  enum BasicType bt;
277  unsigned long size;
278 };
279 
280 struct symt_enum
281 {
282  struct symt symt;
283  struct symt* base_type;
284  const char* name;
286 };
287 
289 {
290  struct symt symt;
291  struct symt* rettype;
294 };
295 
297 {
298  struct symt symt;
299  struct symt* arg_type;
300  struct symt* container;
301 };
302 
304 {
305  struct symt symt;
306  struct symt* pointsto;
307  unsigned long size;
308 };
309 
311 {
312  struct symt symt;
314  struct symt* type;
315 };
316 
317 struct symt_udt
318 {
319  struct symt symt;
321  enum UdtKind kind;
322  int size;
324 };
325 
327 {
328  DMT_UNKNOWN, /* for lookup, not actually used for a module */
329  DMT_ELF, /* a real ELF shared module */
330  DMT_PE, /* a native or builtin PE module */
331  DMT_MACHO, /* a real Mach-O shared module */
332  DMT_PDB, /* .PDB file */
333  DMT_DBG, /* .DBG file */
334 };
335 
336 struct process;
337 struct module;
338 
339 /* a module can be made of several debug information formats, so we have to
340  * support them all
341  */
343 {
350 };
351 
353 {
354  struct module* module;
355  void (*remove)(struct process* pcs, struct module_format* modfmt);
356  void (*loc_compute)(struct process* pcs,
357  const struct module_format* modfmt,
358  const struct symt_function* func,
359  struct location* loc);
360  union
361  {
362  struct elf_module_info* elf_info;
365  struct macho_module_info* macho_info;
367  } u;
368 };
369 
370 #ifdef __REACTOS__
371 struct symt_idx_to_ptr
372 {
373  struct hash_table_elt hash_elt;
374  DWORD idx;
375  const struct symt *sym;
376 };
377 #endif
378 
379 struct module
380 {
381  struct process* process;
383  WCHAR modulename[64]; /* used for enumeration */
384  struct module* next;
385  enum module_type type : 16;
386  unsigned short is_virtual : 1;
388 
389  /* specific information for debug types */
391 
392  /* memory allocation pool */
393  struct pool pool;
394 
395  /* symbols & symbol tables */
396  struct vector vsymt;
398  unsigned num_sorttab; /* number of symbols with addresses */
399  unsigned num_symbols;
400  unsigned sorttab_size;
403 #ifdef __x86_64__
404  struct hash_table ht_symaddr;
405 #endif
406 
407  /* types */
409  struct vector vtypes;
410 
411  /* source files */
412  unsigned sources_used;
413  unsigned sources_alloc;
414  char* sources;
416 };
417 
418 struct process
419 {
420  struct process* next;
423 
428 
429  struct module* lmodules;
430  unsigned long dbg_hdr_addr;
431 
433 
434  unsigned buffer_size;
435  void* buffer;
436 };
437 
438 struct line_info
439 {
440  unsigned long is_first : 1,
441  is_last : 1,
442  is_source_file : 1,
443  line_number;
444  union
445  {
446  unsigned long pc_offset; /* if is_source_file isn't set */
447  unsigned source_file; /* if is_source_file is set */
448  } u;
449 };
450 
452 {
453  struct process* pcs;
454  struct module* requested; /* in: to module_get_debug() */
455  struct module* effective; /* out: module with debug info */
456 };
457 
459 
461 {
462  const char* filename;
467 };
468 
470 {
474  union
475  {
476  struct
477  {
482  } s32;
483  struct
484  {
489  } s64;
490  } u;
491 };
492 
494 {
498 };
499 
501 {
502  unsigned is_elf;
508 };
509 
511 {
515 };
516 
518 {
519  /* process & thread information */
522  unsigned flags_out;
523  /* thread information */
525  unsigned num_threads;
526  /* module information */
528  unsigned num_modules;
529  unsigned alloc_modules;
530  /* exception information */
531  /* output information */
535  struct dump_memory* mem;
536  unsigned num_mem;
537  unsigned alloc_mem;
538  /* callback information */
540 };
541 
543 struct cpu
544 {
548 
549  /* address manipulation */
551  enum cpu_addr, ADDRESS64* addr);
552 
553  /* stack manipulation */
555 
556  /* module manipulation */
557  void* (*find_runtime_function)(struct module*, DWORD64 addr);
558 
559  /* dwarf dedicated information */
560  unsigned (*map_dwarf_register)(unsigned regno, BOOL eh_frame);
561 
562  /* context related manipulation */
563  void* (*fetch_context_reg)(CONTEXT* context, unsigned regno, unsigned* size);
564  const char* (*fetch_regname)(unsigned regno);
565 
566  /* minidump per CPU extension */
567  BOOL (*fetch_minidump_thread)(struct dump_context* dc, unsigned index, unsigned flags, const CONTEXT* ctx);
568  BOOL (*fetch_minidump_module)(struct dump_context* dc, unsigned index, unsigned flags);
569 };
570 
572 
573 /* dbghelp.c */
576 extern BOOL pcs_callback(const struct process* pcs, ULONG action, void* data) DECLSPEC_HIDDEN;
577 extern void* fetch_buffer(struct process* pcs, unsigned size) DECLSPEC_HIDDEN;
578 extern const char* wine_dbgstr_addr(const ADDRESS64* addr) DECLSPEC_HIDDEN;
579 extern struct cpu* cpu_find(DWORD) DECLSPEC_HIDDEN;
580 
581 /* crc32.c */
582 extern DWORD calc_crc32(int fd) DECLSPEC_HIDDEN;
583 
584 typedef BOOL (*enum_modules_cb)(const WCHAR*, unsigned long addr, void* user);
585 
586 /* elf_module.c */
589 struct image_file_map;
591 extern struct module*
592  elf_load_module(struct process* pcs, const WCHAR* name, unsigned long) DECLSPEC_HIDDEN;
595 struct elf_thunk_area;
596 extern int elf_is_in_thunk_area(unsigned long addr, const struct elf_thunk_area* thunks) DECLSPEC_HIDDEN;
597 
598 /* macho_module.c */
602 extern struct module*
603  macho_load_module(struct process* pcs, const WCHAR* name, unsigned long) DECLSPEC_HIDDEN;
606 
607 /* minidump.c */
609 
610 /* module.c */
611 extern const WCHAR S_ElfW[] DECLSPEC_HIDDEN;
612 extern const WCHAR S_WineLoaderW[] DECLSPEC_HIDDEN;
613 extern const WCHAR S_SlashW[] DECLSPEC_HIDDEN;
614 
615 extern struct module*
616  module_find_by_addr(const struct process* pcs, DWORD64 addr,
618 extern struct module*
619  module_find_by_nameW(const struct process* pcs,
620  const WCHAR* name) DECLSPEC_HIDDEN;
621 extern struct module*
622  module_find_by_nameA(const struct process* pcs,
623  const char* name) DECLSPEC_HIDDEN;
624 extern struct module*
625  module_is_already_loaded(const struct process* pcs,
626  const WCHAR* imgname) DECLSPEC_HIDDEN;
628 extern struct module*
629  module_new(struct process* pcs, const WCHAR* name,
630  enum module_type type, BOOL virtual,
632  unsigned long stamp, unsigned long checksum) DECLSPEC_HIDDEN;
633 extern struct module*
634  module_get_containee(const struct process* pcs,
635  const struct module* inner) DECLSPEC_HIDDEN;
636 extern enum module_type
639 extern BOOL module_remove(struct process* pcs,
640  struct module* module) DECLSPEC_HIDDEN;
641 extern void module_set_module(struct module* module, const WCHAR* name) DECLSPEC_HIDDEN;
642 extern const WCHAR *get_wine_loader_name(void) DECLSPEC_HIDDEN;
643 
644 /* msc.c */
645 extern BOOL pe_load_debug_directory(const struct process* pcs,
646  struct module* module,
647  const BYTE* mapping,
648  const IMAGE_SECTION_HEADER* sectp, DWORD nsect,
649  const IMAGE_DEBUG_DIRECTORY* dbg, int nDbg) DECLSPEC_HIDDEN;
650 extern BOOL pdb_fetch_file_info(const struct pdb_lookup* pdb_lookup, unsigned* matched) DECLSPEC_HIDDEN;
651 struct pdb_cmd_pair {
652  const char* name;
654 };
656  CONTEXT* context, struct pdb_cmd_pair* cpair) DECLSPEC_HIDDEN;
657 
658 /* path.c */
659 extern BOOL path_find_symbol_file(const struct process* pcs, const struct module* module,
660  PCSTR full_path, const GUID* guid, DWORD dw1, DWORD dw2,
661  PSTR buffer, BOOL* is_unmatched) DECLSPEC_HIDDEN;
662 
663 /* pe_module.c */
665 extern struct module*
666  pe_load_native_module(struct process* pcs, const WCHAR* name,
668 extern struct module*
669  pe_load_builtin_module(struct process* pcs, const WCHAR* name,
671 extern BOOL pe_load_debug_info(const struct process* pcs,
672  struct module* module) DECLSPEC_HIDDEN;
673 extern const char* pe_map_directory(struct module* module, int dirno, DWORD* size) DECLSPEC_HIDDEN;
674 
675 /* source.c */
676 extern unsigned source_new(struct module* module, const char* basedir, const char* source) DECLSPEC_HIDDEN;
677 extern const char* source_get(const struct module* module, unsigned idx) DECLSPEC_HIDDEN;
678 extern int source_rb_compare(const void *key, const struct wine_rb_entry *entry) DECLSPEC_HIDDEN;
679 
680 /* stabs.c */
681 typedef void (*stabs_def_cb)(struct module* module, unsigned long load_offset,
682  const char* name, unsigned long offset,
683  BOOL is_public, BOOL is_global, unsigned char other,
684  struct symt_compiland* compiland, void* user);
685 extern BOOL stabs_parse(struct module* module, unsigned long load_offset,
686  const void* stabs, int stablen,
687  const char* strs, int strtablen,
689 
690 /* dwarf.c */
691 extern BOOL dwarf2_parse(struct module* module, unsigned long load_offset,
692  const struct elf_thunk_area* thunks,
693  struct image_file_map* fmap) DECLSPEC_HIDDEN;
696 
697 /* rsym.c */
698 extern BOOL rsym_parse(struct module* module, unsigned long load_offset,
699  const void* rsym, int rsymlen) DECLSPEC_HIDDEN;
700 
701 
702 
703 /* stack.c */
704 #ifndef DBGHELP_STATIC_LIB
705 extern BOOL sw_read_mem(struct cpu_stack_walk* csw, DWORD64 addr, void* ptr, DWORD sz) DECLSPEC_HIDDEN;
706 #endif
708 extern void* sw_table_access(struct cpu_stack_walk* csw, DWORD64 addr) DECLSPEC_HIDDEN;
710 
711 /* symbol.c */
712 extern const char* symt_get_name(const struct symt* sym) DECLSPEC_HIDDEN;
713 extern WCHAR* symt_get_nameW(const struct symt* sym) DECLSPEC_HIDDEN;
714 extern BOOL symt_get_address(const struct symt* type, ULONG64* addr) DECLSPEC_HIDDEN;
715 extern int symt_cmp_addr(const void* p1, const void* p2) DECLSPEC_HIDDEN;
716 extern void copy_symbolW(SYMBOL_INFOW* siw, const SYMBOL_INFO* si) DECLSPEC_HIDDEN;
717 extern struct symt_ht*
719 extern struct symt_compiland*
720  symt_new_compiland(struct module* module, unsigned long address,
721  unsigned src_idx) DECLSPEC_HIDDEN;
722 extern struct symt_public*
723  symt_new_public(struct module* module,
724  struct symt_compiland* parent,
725  const char* typename,
727  unsigned long address,
728  unsigned size) DECLSPEC_HIDDEN;
729 extern struct symt_data*
731  struct symt_compiland* parent,
732  const char* name, unsigned is_static,
733  struct location loc, unsigned long size,
734  struct symt* type) DECLSPEC_HIDDEN;
735 extern struct symt_function*
737  struct symt_compiland* parent,
738  const char* name,
739  unsigned long addr, unsigned long size,
740  struct symt* type) DECLSPEC_HIDDEN;
741 extern BOOL symt_normalize_function(struct module* module,
742  const struct symt_function* func) DECLSPEC_HIDDEN;
743 extern void symt_add_func_line(struct module* module,
744  struct symt_function* func,
745  unsigned source_idx, int line_num,
746  unsigned long offset) DECLSPEC_HIDDEN;
747 extern struct symt_data*
749  struct symt_function* func,
750  enum DataKind dt, const struct location* loc,
751  struct symt_block* block,
752  struct symt* type, const char* name) DECLSPEC_HIDDEN;
753 extern struct symt_block*
755  struct symt_function* func,
756  struct symt_block* block,
757  unsigned pc, unsigned len) DECLSPEC_HIDDEN;
758 extern struct symt_block*
760  const struct symt_function* func,
761  struct symt_block* block, unsigned pc) DECLSPEC_HIDDEN;
762 extern struct symt_hierarchy_point*
764  struct symt_function* func,
765  enum SymTagEnum point,
766  const struct location* loc,
767  const char* name) DECLSPEC_HIDDEN;
768 extern BOOL symt_fill_func_line_info(const struct module* module,
769  const struct symt_function* func,
772 extern struct symt_thunk*
773  symt_new_thunk(struct module* module,
774  struct symt_compiland* parent,
775  const char* name, THUNK_ORDINAL ord,
776  unsigned long addr, unsigned long size) DECLSPEC_HIDDEN;
777 extern struct symt_data*
779  struct symt_compiland* parent,
780  const char* name, struct symt* type,
781  const VARIANT* v) DECLSPEC_HIDDEN;
782 extern struct symt_hierarchy_point*
783  symt_new_label(struct module* module,
784  struct symt_compiland* compiland,
785  const char* name, unsigned long address) DECLSPEC_HIDDEN;
786 extern struct symt* symt_index2ptr(struct module* module, DWORD id) DECLSPEC_HIDDEN;
787 extern DWORD symt_ptr2index(struct module* module, const struct symt* sym) DECLSPEC_HIDDEN;
788 
789 /* type.c */
790 extern void symt_init_basic(struct module* module) DECLSPEC_HIDDEN;
791 extern BOOL symt_get_info(struct module* module, const struct symt* type,
792  IMAGEHLP_SYMBOL_TYPE_INFO req, void* pInfo) DECLSPEC_HIDDEN;
793 extern struct symt_basic*
794  symt_new_basic(struct module* module, enum BasicType,
795  const char* typename, unsigned size) DECLSPEC_HIDDEN;
796 extern struct symt_udt*
797  symt_new_udt(struct module* module, const char* typename,
798  unsigned size, enum UdtKind kind) DECLSPEC_HIDDEN;
799 extern BOOL symt_set_udt_size(struct module* module,
800  struct symt_udt* type, unsigned size) DECLSPEC_HIDDEN;
801 extern BOOL symt_add_udt_element(struct module* module,
802  struct symt_udt* udt_type,
803  const char* name,
804  struct symt* elt_type, unsigned offset,
805  unsigned size) DECLSPEC_HIDDEN;
806 extern struct symt_enum*
807  symt_new_enum(struct module* module, const char* typename,
808  struct symt* basetype) DECLSPEC_HIDDEN;
809 extern BOOL symt_add_enum_element(struct module* module,
810  struct symt_enum* enum_type,
811  const char* name, int value) DECLSPEC_HIDDEN;
812 extern struct symt_array*
813  symt_new_array(struct module* module, int min, int max,
814  struct symt* base, struct symt* index) DECLSPEC_HIDDEN;
815 extern struct symt_function_signature*
817  struct symt* ret_type,
820  struct symt_function_signature* sig,
821  struct symt* param) DECLSPEC_HIDDEN;
822 extern struct symt_pointer*
823  symt_new_pointer(struct module* module,
824  struct symt* ref_type,
825  unsigned long size) DECLSPEC_HIDDEN;
826 extern struct symt_typedef*
827  symt_new_typedef(struct module* module, struct symt* ref,
828  const char* name) DECLSPEC_HIDDEN;
static unsigned int block
Definition: xmlmemory.c:118
void(* remove)(struct process *pcs, struct module_format *modfmt)
unsigned long line_number
BasicType
Definition: compat.h:1256
DWORD word_size
PGET_MODULE_BASE_ROUTINE f_modl_bas
PREAD_PROCESS_MEMORY_ROUTINE f_read_mem
const char * wine_dbgstr_addr(const ADDRESS64 *addr) DECLSPEC_HIDDEN
Definition: dbghelp.c:123
unsigned num_modules
BOOL symt_get_address(const struct symt *type, ULONG64 *addr) DECLSPEC_HIDDEN
Definition: type.c:120
unsigned long pc_offset
GLenum func
Definition: glext.h:6028
const char * name
struct module * module_get_containee(const struct process *pcs, const struct module *inner) DECLSPEC_HIDDEN
Definition: module.c:314
struct list arena_list
pdb_kind
DWORD frame_regno
void module_set_module(struct module *module, const WCHAR *name) DECLSPEC_HIDDEN
Definition: module.c:103
struct module * elf_load_module(struct process *pcs, const WCHAR *name, unsigned long) DECLSPEC_HIDDEN
Definition: elf_module.c:1830
PTRANSLATE_ADDRESS_ROUTINE64 f_xlat_adr
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
Definition: module.c:163
struct hash_table_elt hash_elt
#define max(a, b)
Definition: svc.c:63
struct module * requested
WCHAR * search_path
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
Definition: msc.c:3393
unsigned long size
struct symt_block * symt_open_func_block(struct module *module, struct symt_function *func, struct symt_block *block, unsigned pc, unsigned len) DECLSPEC_HIDDEN
Definition: symbol.c:415
struct pool * pool
BOOL symt_set_udt_size(struct module *module, struct symt_udt *type, unsigned size) DECLSPEC_HIDDEN
Definition: type.c:243
HMODULE module
Definition: main.cpp:47
struct symt * container
struct dump_module * modules
BOOL symt_add_enum_element(struct module *module, struct symt_enum *enum_type, const char *name, int value) DECLSPEC_HIDDEN
Definition: type.c:320
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
WCHAR * symt_get_nameW(const struct symt *sym) DECLSPEC_HIDDEN
Definition: type.c:107
unsigned sources_alloc
unsigned long size
struct cpu * dbghelp_current_cpu
Definition: dbghelp.c:150
struct vector vchildren
struct hash_table_elt * last
struct symt * container
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
Definition: symbol.c:380
unsigned num_buckets
Definition: http.c:6587
void * vector_at(const struct vector *v, unsigned pos) DECLSPEC_HIDDEN
Definition: storage.c:163
BOOL symt_fill_func_line_info(const struct module *module, const struct symt_function *func, DWORD64 addr, IMAGEHLP_LINE64 *line) DECLSPEC_HIDDEN
Definition: symbol.c:1488
DWORD calc_crc32(int fd) DECLSPEC_HIDDEN
Definition: crc32.c:89
unsigned sources_used
int other
Definition: msacm.c:1364
struct hash_table ht_symbols
struct symt_data::@354::@355 member
struct dump_memory * mem
struct vector vsymt
struct symt * container
BOOL macho_fetch_file_info(HANDLE process, const WCHAR *name, unsigned long load_addr, DWORD_PTR *base, DWORD *size, DWORD *checksum) DECLSPEC_HIDDEN
struct hash_table_bucket * buckets
GLintptr offset
Definition: glext.h:5920
enum module_type module_get_type_by_name(const WCHAR *name) DECLSPEC_HIDDEN
Definition: module.c:465
struct module * module_find_by_nameA(const struct process *pcs, const char *name) DECLSPEC_HIDDEN
Definition: module.c:256
unsigned alloc_mem
BOOL(* get_addr)(HANDLE hThread, const CONTEXT *ctx, enum cpu_addr, ADDRESS64 *addr)
void * sw_table_access(struct cpu_stack_walk *csw, DWORD64 addr) DECLSPEC_HIDDEN
Definition: stack.c:120
struct hash_table_elt hash_elt
BOOL(* stack_walk)(struct cpu_stack_walk *csw, LPSTACKFRAME64 frame, CONTEXT *context)
struct symt_typedef * symt_new_typedef(struct module *module, struct symt *ref, const char *name) DECLSPEC_HIDDEN
Definition: type.c:429
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
union line_info::@357 u
unsigned num_threads
const WCHAR S_SlashW[]
Definition: module.c:43
void copy_symbolW(SYMBOL_INFOW *siw, const SYMBOL_INFO *si) DECLSPEC_HIDDEN
Definition: symbol.c:1037
GLuint buffer
Definition: glext.h:5915
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
unsigned buffer_size
enum DataKind kind
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:820
static int fd
Definition: io.c:51
HDC dc
Definition: cylfrac.c:34
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:821
struct vector vlines
struct wine_rb_tree sources_offsets_tree
PFUNCTION_TABLE_ACCESS_ROUTINE64 f_tabl_acs
const char * source_get(const struct module *module, unsigned idx) DECLSPEC_HIDDEN
Definition: source.c:131
BOOL(* fetch_minidump_thread)(struct dump_context *dc, unsigned index, unsigned flags, const CONTEXT *ctx)
struct symt * container
DWORD machine
union cpu_stack_walk::@358 u
const char * symt_get_name(const struct symt *sym) DECLSPEC_HIDDEN
Definition: type.c:82
enum UdtKind kind
unsigned num_buckets
struct vector elements
void minidump_add_memory_block(struct dump_context *dc, ULONG64 base, ULONG size, ULONG rva) DECLSPEC_HIDDEN
Definition: minidump.c:338
PREAD_PROCESS_MEMORY_ROUTINE64 f_read_mem
struct hash_table_elt hash_elt
struct symt_compiland * symt_new_compiland(struct module *module, unsigned long address, unsigned src_idx) DECLSPEC_HIDDEN
Definition: symbol.c:209
unsigned num_symbols
DataKind
Definition: compat.h:1287
char * sources
union module_format::@356 u
#define BOOL
Definition: nt_native.h:43
int load_addr
Definition: mkisofs.c:104
BOOL(* enum_modules_cb)(const WCHAR *, unsigned long addr, void *user)
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)
Definition: send.c:47
POINTL point
Definition: edittest.c:50
IMAGEHLP_STACK_FRAME ctx_frame
BOOL pdb_fetch_file_info(const struct pdb_lookup *pdb_lookup, unsigned *matched) DECLSPEC_HIDDEN
Definition: msc.c:2915
size_t arena_size
enum module_type type
uint32_t ULONG_PTR
Definition: typedefs.h:63
format_info
location_kind
unsigned is_elf
unsigned source_file
enum pdb_kind kind
void * pool_alloc(struct pool *a, size_t len) DECLSPEC_HIDDEN
Definition: storage.c:90
struct hash_table_elt hash_elt
const GUID * guid
THUNK_ORDINAL ordinal
void module_reset_debug_info(struct module *module) DECLSPEC_HIDDEN
Definition: module.c:1122
BOOL dwarf2_virtual_unwind(struct cpu_stack_walk *csw, DWORD_PTR ip, CONTEXT *context, ULONG_PTR *cfa) DECLSPEC_HIDDEN
Definition: dwarf.c:3265
SymTagEnum
Definition: compat.h:1220
struct module * lmodules
BOOL pdb_virtual_unwind(struct cpu_stack_walk *csw, DWORD_PTR ip, CONTEXT *context, struct pdb_cmd_pair *cpair) DECLSPEC_HIDDEN
Definition: msc.c:3202
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long address
BOOL pe_load_debug_info(const struct process *pcs, struct module *module) DECLSPEC_HIDDEN
Definition: pe_module.c:746
enum SymTagEnum tag
unsigned(* map_dwarf_register)(unsigned regno, BOOL eh_frame)
int sortlist_valid
struct symt * type
int source_rb_compare(const void *key, const struct wine_rb_entry *entry) DECLSPEC_HIDDEN
Definition: source.c:41
location_error
struct symt_public * symt_new_public(struct module *module, struct symt_compiland *parent, const char *typename, BOOL is_function, unsigned long address, unsigned size) DECLSPEC_HIDDEN
Definition: symbol.c:226
BOOL pe_load_nt_header(HANDLE hProc, DWORD64 base, IMAGE_NT_HEADERS *nth) DECLSPEC_HIDDEN
Definition: pe_module.c:837
BOOL symt_add_function_signature_parameter(struct module *module, struct symt_function_signature *sig, struct symt *param) DECLSPEC_HIDDEN
Definition: type.c:395
unsigned int uintptr_t
Definition: crtdefs.h:300
static PVOID ptr
Definition: dispmode.c:27
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
Definition: stabs.c:1275
unsigned int idx
Definition: utils.c:41
cpu_addr
const char * name
void hash_table_iter_init(const struct hash_table *ht, struct hash_table_iter *hti, const char *name) DECLSPEC_HIDDEN
Definition: storage.c:406
DWORD64 sw_module_base(struct cpu_stack_walk *csw, DWORD64 addr) DECLSPEC_HIDDEN
Definition: stack.c:128
const WCHAR * str
struct symt_data * symt_new_constant(struct module *module, struct symt_compiland *parent, const char *name, struct symt *type, const VARIANT *v) DECLSPEC_HIDDEN
Definition: symbol.c:527
void symt_add_func_line(struct module *module, struct symt_function *func, unsigned source_idx, int line_num, unsigned long offset) DECLSPEC_HIDDEN
Definition: symbol.c:328
PTRANSLATE_ADDRESS_ROUTINE f_xlat_adr
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
Definition: type.c:265
UdtKind
Definition: compat.h:1279
void vector_init(struct vector *v, unsigned elt_sz, unsigned bucket_sz) DECLSPEC_HIDDEN
Definition: storage.c:134
DWORD(CALLBACK * PTRANSLATE_ADDRESS_ROUTINE)(HANDLE, HANDLE, LPADDRESS)
Definition: compat.h:870
Definition: parser.c:48
unsigned long address
BOOL elf_synchronize_module_list(struct process *pcs) DECLSPEC_HIDDEN
Definition: elf_module.c:1809
struct macho_module_info * macho_info
PSYMBOL_REGISTERED_CALLBACK reg_cb32
DWORD64 sw_xlat_addr(struct cpu_stack_walk *csw, ADDRESS64 *addr) DECLSPEC_HIDDEN
Definition: stack.c:105
struct module * macho_load_module(struct process *pcs, const WCHAR *name, unsigned long) DECLSPEC_HIDDEN
GLuint index
Definition: glext.h:6031
unsigned num_sorttab
struct symt * type
DWORD64 reg_user
struct symt_basic * symt_new_basic(struct module *module, enum BasicType, const char *typename, unsigned size) DECLSPEC_HIDDEN
Definition: type.c:193
struct module * module_is_already_loaded(const struct process *pcs, const WCHAR *imgname) DECLSPEC_HIDDEN
Definition: module.c:268
struct process * process_find_by_handle(HANDLE hProcess) DECLSPEC_HIDDEN
Definition: dbghelp.c:80
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE64)(HANDLE, DWORD64, PVOID, DWORD, PDWORD)
Definition: compat.h:824
BOOL rsym_parse(struct module *module, unsigned long load_offset, const void *rsym, int rsymlen) DECLSPEC_HIDDEN
Definition: rsym.c:79
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
Definition: symbol.c:258
struct module * pe_load_native_module(struct process *pcs, const WCHAR *name, HANDLE hFile, DWORD64 base, DWORD size) DECLSPEC_HIDDEN
Definition: pe_module.c:776
struct vector vchildren
MmuTrapHandler callback[0x30]
Definition: mmuobject.c:44
unsigned long is_first
unsigned long address
DWORD64(CALLBACK * PTRANSLATE_ADDRESS_ROUTINE64)(HANDLE, HANDLE, LPADDRESS64)
Definition: compat.h:822
DWORD symt_ptr2index(struct module *module, const struct symt *sym) DECLSPEC_HIDDEN
Definition: symbol.c:70
struct cpu_stack_walk::@358::@359 s32
struct elf_module_info * elf_info
GLsizeiptr size
Definition: glext.h:5919
DWORD64 reloc_delta
PSYMBOL_REGISTERED_CALLBACK64 reg_cb
struct list arena_full
struct dump_thread * threads
BOOL module_get_debug(struct module_pair *) DECLSPEC_HIDDEN
Definition: module.c:340
Definition: dhcpd.h:61
r parent
Definition: btrfs.c:2677
void(* loc_compute)(struct process *pcs, const struct module_format *modfmt, const struct symt_function *func, struct location *loc)
__wchar_t WCHAR
Definition: xmlstorage.h:180
BOOL symt_get_func_line_next(const struct module *module, PIMAGEHLP_LINE64 line) DECLSPEC_HIDDEN
Definition: symbol.c:1730
struct symt_array * symt_new_array(struct module *module, int min, int max, struct symt *base, struct symt *index) DECLSPEC_HIDDEN
Definition: type.c:346
unsigned dbghelp_options DECLSPEC_HIDDEN
const WCHAR S_ElfW[]
Definition: module.c:37
WCHAR modulename[64]
struct symt_pointer * symt_new_pointer(struct module *module, struct symt *ref_type, unsigned long size) DECLSPEC_HIDDEN
Definition: type.c:415
struct vector vtypes
GLfloat param
Definition: glext.h:5796
#define MAX_PATH
Definition: compat.h:26
void * buffer
struct symt * type
MINIDUMP_CALLBACK_INFORMATION * cb
unsigned dbghelp_options
Definition: dbghelp.c:72
struct location loc
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLenum GLenum GLenum mapping
Definition: glext.h:9031
unsigned flags_out
GLuint address
Definition: glext.h:9393
struct symt * index_type
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE, DWORD, PVOID, DWORD, PDWORD)
Definition: compat.h:869
VARIANT value
unsigned num_elts
void sparse_array_init(struct sparse_array *sa, unsigned elt_sz, unsigned bucket_sz) DECLSPEC_HIDDEN
Definition: storage.c:214
struct hash_table_elt hash_elt
void hash_table_add(struct hash_table *ht, struct hash_table_elt *elt) DECLSPEC_HIDDEN
Definition: storage.c:379
struct symt_enum * symt_new_enum(struct module *module, const char *typename, struct symt *basetype) DECLSPEC_HIDDEN
Definition: type.c:305
struct hash_table_elt * first
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
struct symt * container
void ** buckets
MINIDUMP_TYPE type
GLbitfield flags
Definition: glext.h:7161
struct process * pcs
struct symt * base_type
unsigned elt_size
struct module * pe_load_builtin_module(struct process *pcs, const WCHAR *name, DWORD64 base, DWORD64 size) DECLSPEC_HIDDEN
Definition: pe_module.c:852
int symt_cmp_addr(const void *p1, const void *p2) DECLSPEC_HIDDEN
Definition: symbol.c:59
unsigned num_mem
BOOL validate_addr64(DWORD64 addr) DECLSPEC_HIDDEN
Definition: dbghelp.c:93
unsigned __int64 ULONG64
Definition: imports.h:198
struct dwarf2_module_info_s * dwarf2_info
unsigned reg
void pool_init(struct pool *a, size_t arena_size) DECLSPEC_HIDDEN
Definition: storage.c:44
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
Definition: symbol.c:454
int elf_is_in_thunk_area(unsigned long addr, const struct elf_thunk_area *thunks) DECLSPEC_HIDDEN
Definition: elf_module.c:1840
GLenum const GLvoid * addr
Definition: glext.h:9621
#define index(s, c)
Definition: various.h:29
unsigned long dbg_hdr_addr
struct location var
const WCHAR * get_wine_loader_name(void) DECLSPEC_HIDDEN
Definition: module.c:110
uint32_t entry
Definition: isohybrid.c:63
struct module * module_find_by_addr(const struct process *pcs, DWORD64 addr, enum module_type type) DECLSPEC_HIDDEN
Definition: module.c:399
BOOL pcs_callback(const struct process *pcs, ULONG action, void *data) DECLSPEC_HIDDEN
Definition: dbghelp.c:551
GLenum GLsizei len
Definition: glext.h:6722
unsigned char BYTE
Definition: mem.h:68
Definition: _list.h:228
BOOL macho_synchronize_module_list(struct process *pcs) DECLSPEC_HIDDEN
void * hash_table_iter_up(struct hash_table_iter *hti) DECLSPEC_HIDDEN
Definition: storage.c:423
struct cpu_stack_walk::@358::@360 s64
module_type
static cab_ULONG checksum(const cab_UBYTE *data, cab_UWORD bytes, cab_ULONG csum)
Definition: fdi.c:353
PGET_MODULE_BASE_ROUTINE64 f_modl_bas
unsigned sparse_array_length(const struct sparse_array *sa) DECLSPEC_HIDDEN
Definition: storage.c:315
struct symt * pointsto
uint32_t DWORD_PTR
Definition: typedefs.h:63
_In_ HANDLE hFile
Definition: mswsock.h:90
unsigned alloc_modules
unsigned num_elts
char * pool_strdup(struct pool *a, const char *str) DECLSPEC_HIDDEN
Definition: storage.c:127
struct symt * symt_index2ptr(struct module *module, DWORD id) DECLSPEC_HIDDEN
Definition: symbol.c:112
struct cpu * cpu_find(DWORD) DECLSPEC_HIDDEN
Definition: dbghelp.c:166
BOOL path_find_symbol_file(const struct process *pcs, const struct module *module, PCSTR full_path, const GUID *guid, DWORD dw1, DWORD dw2, PSTR buffer, BOOL *is_unmatched) DECLSPEC_HIDDEN
Definition: path.c:626
unsigned kind
BOOL sw_read_mem(struct cpu_stack_walk *csw, DWORD64 addr, void *ptr, DWORD sz) DECLSPEC_HIDDEN
Definition: stack.c:96
void hash_table_destroy(struct hash_table *ht) DECLSPEC_HIDDEN
Definition: storage.c:343
void symt_init_basic(struct module *module) DECLSPEC_HIDDEN
BOOL symt_normalize_function(struct module *module, const struct symt_function *func) DECLSPEC_HIDDEN
Definition: symbol.c:475
struct symt_udt * symt_new_udt(struct module *module, const char *typename, unsigned size, enum UdtKind kind) DECLSPEC_HIDDEN
Definition: type.c:220
void * vector_add(struct vector *v, struct pool *pool) DECLSPEC_HIDDEN
Definition: storage.c:172
BOOL symt_get_info(struct module *module, const struct symt *type, IMAGEHLP_SYMBOL_TYPE_INFO req, void *pInfo) DECLSPEC_HIDDEN
Definition: type.c:537
const WCHAR * action
Definition: action.c:7783
struct process * next
uint64_t DWORD64
Definition: typedefs.h:65
const GLdouble * v
Definition: gl.h:2040
DWORD(CALLBACK * PGET_MODULE_BASE_ROUTINE)(HANDLE, DWORD)
Definition: compat.h:872
struct process * process
void pool_destroy(struct pool *a) DECLSPEC_HIDDEN
Definition: storage.c:51
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
Definition: symbol.c:295
struct pdb_module_info * pdb_info
unsigned shift
Definition: rbtree.h:35
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK64)(HANDLE, ULONG, ULONG64, ULONG64)
Definition: compat.h:823
const WCHAR S_WineLoaderW[]
Definition: module.c:38
struct hash_table_elt * next
struct symt_function_signature * symt_new_function_signature(struct module *module, struct symt *ret_type, enum CV_call_e call_conv) DECLSPEC_HIDDEN
Definition: type.c:378
unsigned short is_virtual
struct hash_table_elt * element
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK)(HANDLE, ULONG, PVOID, PVOID)
Definition: compat.h:868
signed char * PSTR
Definition: retypes.h:7
static const struct newhuff ht[]
Definition: huffman.h:296
struct hash_table ht_types
#define min(a, b)
Definition: monoChain.cc:55
unsigned long size
unsigned sorttab_size
BOOL module_remove(struct process *pcs, struct module *module) DECLSPEC_HIDDEN
Definition: module.c:684
struct hash_table_elt hash_elt
BOOL dwarf2_parse(struct module *module, unsigned long load_offset, const struct elf_thunk_area *thunks, struct image_file_map *fmap) DECLSPEC_HIDDEN
Definition: dwarf.c:3522
struct module * module
HANDLE hThread
Definition: wizard.c:27
BOOL elf_load_debug_info(struct module *module) DECLSPEC_HIDDEN
Definition: elf_module.c:1835
unsigned long address
void hash_table_init(struct pool *pool, struct hash_table *ht, unsigned num_buckets) DECLSPEC_HIDDEN
Definition: storage.c:335
unsigned long is_last
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE, DWORD)
Definition: compat.h:871
unsigned source_new(struct module *module, const char *basedir, const char *source) DECLSPEC_HIDDEN
Definition: source.c:67
const struct hash_table * ht
CV_call_e
Definition: compat.h:1864
Definition: name.c:36
DWORD RVA
Definition: compat.h:903
unsigned long offset
unsigned long size
unsigned long is_source_file
unsigned int ULONG
Definition: retypes.h:1
HANDLE handle
union symt_data::@354 u
enum _IMAGEHLP_SYMBOL_TYPE_INFO IMAGEHLP_SYMBOL_TYPE_INFO
unsigned long length
unsigned long size
struct symt_ht ** addr_sorttab
void * sparse_array_add(struct sparse_array *sa, unsigned long key, struct pool *pool) DECLSPEC_HIDDEN
Definition: storage.c:282
unsigned buckets_allocated
struct symt * base_type
const char * PCSTR
Definition: typedefs.h:51
BOOL elf_fetch_file_info(const WCHAR *name, DWORD_PTR *base, DWORD *size, DWORD *checksum) DECLSPEC_HIDDEN
Definition: elf_module.c:1814
BOOL macho_enum_modules(HANDLE hProc, enum_modules_cb, void *) DECLSPEC_HIDDEN
BOOL elf_read_wine_loader_dbg_info(struct process *pcs) DECLSPEC_HIDDEN
Definition: elf_module.c:1820
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
BOOL macho_read_wine_loader_dbg_info(struct process *pcs) 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
Definition: symbol.c:498
struct vector vchildren
const char * filename
unsigned long size
BOOL elf_enum_modules(HANDLE hProc, enum_modules_cb, void *) DECLSPEC_HIDDEN
Definition: elf_module.c:1825
BOOL macho_load_debug_info(struct module *module) DECLSPEC_HIDDEN
void * fetch_buffer(struct process *pcs, unsigned size) DECLSPEC_HIDDEN
Definition: dbghelp.c:109
struct symt_hierarchy_point * symt_new_label(struct module *module, struct symt_compiland *compiland, const char *name, unsigned long address) DECLSPEC_HIDDEN
Definition: symbol.c:556
IMAGEHLP_MODULEW64 module
void user(int argc, const char *argv[])
Definition: cmds.c:1350
struct module * next
struct symt_block * symt_close_func_block(struct module *module, const struct symt_function *func, struct symt_block *block, unsigned pc) DECLSPEC_HIDDEN
Definition: symbol.c:442
BOOL reg_is_unicode
PFUNCTION_TABLE_ACCESS_ROUTINE f_tabl_acs
BOOL(* fetch_minidump_module)(struct dump_context *dc, unsigned index, unsigned flags)
struct module * effective
static struct sockaddr_in sa
Definition: adnsresfilter.c:69
struct hash_table_elt hash_elt
enum BasicType bt
unsigned vector_length(const struct vector *v) DECLSPEC_HIDDEN
Definition: storage.c:158
struct hash_table_elt hash_elt
unsigned long address
struct vector vchildren
void * sparse_array_find(const struct sparse_array *sa, unsigned long idx) DECLSPEC_HIDDEN
Definition: storage.c:272
THUNK_ORDINAL
Definition: compat.h:1855
struct vector vchildren
struct symt_ht * symt_find_nearest(struct module *module, DWORD_PTR addr) DECLSPEC_HIDDEN
Definition: symbol.c:905
Definition: path.c:42
struct module * module_find_by_nameW(const struct process *pcs, const WCHAR *name) DECLSPEC_HIDDEN
Definition: module.c:244
struct pe_module_info * pe_info
const char * pe_map_directory(struct module *module, int dirno, DWORD *size) DECLSPEC_HIDDEN
Definition: pe_module.c:313
enum _MINIDUMP_TYPE MINIDUMP_TYPE
const char * name
struct hash_table_elt hash_elt
GLuint const GLchar * name
Definition: glext.h:6031