ReactOS  0.4.12-dev-934-g9a4676f
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  unsigned long offset;
155 };
156 
157 struct symt
158 {
160 };
161 
162 struct symt_ht
163 {
164  struct symt symt;
165  struct hash_table_elt hash_elt; /* if global symbol or type */
166 };
167 
168 /* lexical tree */
170 {
171  struct symt symt;
172  unsigned long address;
173  unsigned long size;
174  struct symt* container; /* block, or func */
175  struct vector vchildren; /* sub-blocks & local variables */
176 };
177 
179 {
180  struct symt symt;
181  unsigned long address;
182  unsigned source;
183  struct vector vchildren; /* global variables & functions */
184 };
185 
186 struct symt_data
187 {
188  struct symt symt;
189  struct hash_table_elt hash_elt; /* if global symbol */
191  struct symt* container;
192  struct symt* type;
193  union /* depends on kind */
194  {
195  /* DataIs{Global, FileStatic}:
196  * with loc.kind
197  * loc_absolute loc.offset is address
198  * loc_tlsrel loc.offset is TLS index address
199  * DataIs{Local,Param}:
200  * with loc.kind
201  * loc_absolute not supported
202  * loc_register location is in register loc.reg
203  * loc_regrel location is at address loc.reg + loc.offset
204  * >= loc_user ask debug info provider for resolution
205  */
206  struct location var;
207  /* DataIs{Member} (all values are in bits, not bytes) */
208  struct
209  {
210  long offset;
211  unsigned long length;
212  } member;
213  /* DataIsConstant */
215  } u;
216 };
217 
219 {
220  struct symt symt;
221  struct hash_table_elt hash_elt; /* if global symbol */
222  unsigned long address;
223  struct symt* container; /* compiland */
224  struct symt* type; /* points to function_signature */
225  unsigned long size;
226  struct vector vlines;
227  struct vector vchildren; /* locals, params, blocks, start/end, labels */
228 };
229 
231 {
232  struct symt symt; /* either SymTagFunctionDebugStart, SymTagFunctionDebugEnd, SymTagLabel */
233  struct hash_table_elt hash_elt; /* if label (and in compiland's hash table if global) */
234  struct symt* parent; /* symt_function or symt_compiland */
235  struct location loc;
236 };
237 
239 {
240  struct symt symt;
242  struct symt* container; /* compiland */
243  unsigned long address;
244  unsigned long size;
245 };
246 
248 {
249  struct symt symt;
251  struct symt* container; /* compiland */
252  unsigned long address;
253  unsigned long size;
254  THUNK_ORDINAL ordinal; /* FIXME: doesn't seem to be accessible */
255 };
256 
257 /* class tree */
259 {
260  struct symt symt;
261  int start;
262  int end; /* end index if > 0, or -array_len (in bytes) if < 0 */
263  struct symt* base_type;
264  struct symt* index_type;
265 };
266 
268 {
269  struct symt symt;
271  enum BasicType bt;
272  unsigned long size;
273 };
274 
275 struct symt_enum
276 {
277  struct symt symt;
278  struct symt* base_type;
279  const char* name;
281 };
282 
284 {
285  struct symt symt;
286  struct symt* rettype;
289 };
290 
292 {
293  struct symt symt;
294  struct symt* arg_type;
295  struct symt* container;
296 };
297 
299 {
300  struct symt symt;
301  struct symt* pointsto;
302  unsigned long size;
303 };
304 
306 {
307  struct symt symt;
309  struct symt* type;
310 };
311 
312 struct symt_udt
313 {
314  struct symt symt;
316  enum UdtKind kind;
317  int size;
319 };
320 
322 {
323  DMT_UNKNOWN, /* for lookup, not actually used for a module */
324  DMT_ELF, /* a real ELF shared module */
325  DMT_PE, /* a native or builtin PE module */
326  DMT_MACHO, /* a real Mach-O shared module */
327  DMT_PDB, /* .PDB file */
328  DMT_DBG, /* .DBG file */
329 };
330 
331 struct process;
332 struct module;
333 
334 /* a module can be made of several debug information formats, so we have to
335  * support them all
336  */
338 {
345 };
346 
348 {
349  struct module* module;
350  void (*remove)(struct process* pcs, struct module_format* modfmt);
351  void (*loc_compute)(struct process* pcs,
352  const struct module_format* modfmt,
353  const struct symt_function* func,
354  struct location* loc);
355  union
356  {
357  struct elf_module_info* elf_info;
360  struct macho_module_info* macho_info;
362  } u;
363 };
364 
365 #ifdef __REACTOS__
366 struct symt_idx_to_ptr
367 {
368  struct hash_table_elt hash_elt;
369  DWORD idx;
370  const struct symt *sym;
371 };
372 #endif
373 
374 struct module
375 {
376  struct process* process;
378  WCHAR modulename[64]; /* used for enumeration */
379  struct module* next;
380  enum module_type type : 16;
381  unsigned short is_virtual : 1;
383 
384  /* specific information for debug types */
386 
387  /* memory allocation pool */
388  struct pool pool;
389 
390  /* symbols & symbol tables */
391  struct vector vsymt;
393  unsigned num_sorttab; /* number of symbols with addresses */
394  unsigned num_symbols;
395  unsigned sorttab_size;
398 #ifdef __x86_64__
399  struct hash_table ht_symaddr;
400 #endif
401 
402  /* types */
404  struct vector vtypes;
405 
406  /* source files */
407  unsigned sources_used;
408  unsigned sources_alloc;
409  char* sources;
411 };
412 
413 struct process
414 {
415  struct process* next;
418 
423 
424  struct module* lmodules;
425  unsigned long dbg_hdr_addr;
426 
428 
429  unsigned buffer_size;
430  void* buffer;
431 };
432 
433 struct line_info
434 {
435  unsigned long is_first : 1,
436  is_last : 1,
437  is_source_file : 1,
438  line_number;
439  union
440  {
441  unsigned long pc_offset; /* if is_source_file isn't set */
442  unsigned source_file; /* if is_source_file is set */
443  } u;
444 };
445 
447 {
448  struct process* pcs;
449  struct module* requested; /* in: to module_get_debug() */
450  struct module* effective; /* out: module with debug info */
451 };
452 
454 
456 {
457  const char* filename;
462 };
463 
465 {
469  union
470  {
471  struct
472  {
477  } s32;
478  struct
479  {
484  } s64;
485  } u;
486 };
487 
489 {
493 };
494 
496 {
497  unsigned is_elf;
503 };
504 
506 {
510 };
511 
513 {
514  /* process & thread information */
517  unsigned flags_out;
518  /* thread information */
520  unsigned num_threads;
521  /* module information */
523  unsigned num_modules;
524  unsigned alloc_modules;
525  /* exception information */
526  /* output information */
530  struct dump_memory* mem;
531  unsigned num_mem;
532  unsigned alloc_mem;
533  /* callback information */
535 };
536 
538 struct cpu
539 {
543 
544  /* address manipulation */
546  enum cpu_addr, ADDRESS64* addr);
547 
548  /* stack manipulation */
550 
551  /* module manipulation */
552  void* (*find_runtime_function)(struct module*, DWORD64 addr);
553 
554  /* dwarf dedicated information */
555  unsigned (*map_dwarf_register)(unsigned regno, BOOL eh_frame);
556 
557  /* context related manipulation */
558  void* (*fetch_context_reg)(CONTEXT* context, unsigned regno, unsigned* size);
559  const char* (*fetch_regname)(unsigned regno);
560 
561  /* minidump per CPU extension */
562  BOOL (*fetch_minidump_thread)(struct dump_context* dc, unsigned index, unsigned flags, const CONTEXT* ctx);
563  BOOL (*fetch_minidump_module)(struct dump_context* dc, unsigned index, unsigned flags);
564 };
565 
567 
568 /* dbghelp.c */
571 extern BOOL pcs_callback(const struct process* pcs, ULONG action, void* data) DECLSPEC_HIDDEN;
572 extern void* fetch_buffer(struct process* pcs, unsigned size) DECLSPEC_HIDDEN;
573 extern const char* wine_dbgstr_addr(const ADDRESS64* addr) DECLSPEC_HIDDEN;
574 extern struct cpu* cpu_find(DWORD) DECLSPEC_HIDDEN;
575 
576 /* crc32.c */
577 extern DWORD calc_crc32(int fd) DECLSPEC_HIDDEN;
578 
579 typedef BOOL (*enum_modules_cb)(const WCHAR*, unsigned long addr, void* user);
580 
581 /* elf_module.c */
584 struct image_file_map;
586 extern struct module*
587  elf_load_module(struct process* pcs, const WCHAR* name, unsigned long) DECLSPEC_HIDDEN;
590 struct elf_thunk_area;
591 extern int elf_is_in_thunk_area(unsigned long addr, const struct elf_thunk_area* thunks) DECLSPEC_HIDDEN;
592 
593 /* macho_module.c */
597 extern struct module*
598  macho_load_module(struct process* pcs, const WCHAR* name, unsigned long) DECLSPEC_HIDDEN;
601 
602 /* minidump.c */
604 
605 /* module.c */
606 extern const WCHAR S_ElfW[] DECLSPEC_HIDDEN;
607 extern const WCHAR S_WineLoaderW[] DECLSPEC_HIDDEN;
608 extern const WCHAR S_SlashW[] DECLSPEC_HIDDEN;
609 
610 extern struct module*
611  module_find_by_addr(const struct process* pcs, DWORD64 addr,
613 extern struct module*
614  module_find_by_nameW(const struct process* pcs,
615  const WCHAR* name) DECLSPEC_HIDDEN;
616 extern struct module*
617  module_find_by_nameA(const struct process* pcs,
618  const char* name) DECLSPEC_HIDDEN;
619 extern struct module*
620  module_is_already_loaded(const struct process* pcs,
621  const WCHAR* imgname) DECLSPEC_HIDDEN;
623 extern struct module*
624  module_new(struct process* pcs, const WCHAR* name,
625  enum module_type type, BOOL virtual,
627  unsigned long stamp, unsigned long checksum) DECLSPEC_HIDDEN;
628 extern struct module*
629  module_get_containee(const struct process* pcs,
630  const struct module* inner) DECLSPEC_HIDDEN;
631 extern enum module_type
634 extern BOOL module_remove(struct process* pcs,
635  struct module* module) DECLSPEC_HIDDEN;
636 extern void module_set_module(struct module* module, const WCHAR* name) DECLSPEC_HIDDEN;
637 extern const WCHAR *get_wine_loader_name(void) DECLSPEC_HIDDEN;
638 
639 /* msc.c */
640 extern BOOL pe_load_debug_directory(const struct process* pcs,
641  struct module* module,
642  const BYTE* mapping,
643  const IMAGE_SECTION_HEADER* sectp, DWORD nsect,
644  const IMAGE_DEBUG_DIRECTORY* dbg, int nDbg) DECLSPEC_HIDDEN;
645 extern BOOL pdb_fetch_file_info(const struct pdb_lookup* pdb_lookup, unsigned* matched) DECLSPEC_HIDDEN;
646 struct pdb_cmd_pair {
647  const char* name;
649 };
651  CONTEXT* context, struct pdb_cmd_pair* cpair) DECLSPEC_HIDDEN;
652 
653 /* path.c */
654 extern BOOL path_find_symbol_file(const struct process* pcs, PCSTR full_path,
655  const GUID* guid, DWORD dw1, DWORD dw2, PSTR buffer,
656  BOOL* is_unmatched) DECLSPEC_HIDDEN;
657 
658 /* pe_module.c */
660 extern struct module*
661  pe_load_native_module(struct process* pcs, const WCHAR* name,
663 extern struct module*
664  pe_load_builtin_module(struct process* pcs, const WCHAR* name,
666 extern BOOL pe_load_debug_info(const struct process* pcs,
667  struct module* module) DECLSPEC_HIDDEN;
668 extern const char* pe_map_directory(struct module* module, int dirno, DWORD* size) DECLSPEC_HIDDEN;
669 
670 /* source.c */
671 extern unsigned source_new(struct module* module, const char* basedir, const char* source) DECLSPEC_HIDDEN;
672 extern const char* source_get(const struct module* module, unsigned idx) DECLSPEC_HIDDEN;
673 extern int source_rb_compare(const void *key, const struct wine_rb_entry *entry) DECLSPEC_HIDDEN;
674 
675 /* stabs.c */
676 typedef void (*stabs_def_cb)(struct module* module, unsigned long load_offset,
677  const char* name, unsigned long offset,
678  BOOL is_public, BOOL is_global, unsigned char other,
679  struct symt_compiland* compiland, void* user);
680 extern BOOL stabs_parse(struct module* module, unsigned long load_offset,
681  const void* stabs, int stablen,
682  const char* strs, int strtablen,
684 
685 /* dwarf.c */
686 extern BOOL dwarf2_parse(struct module* module, unsigned long load_offset,
687  const struct elf_thunk_area* thunks,
688  struct image_file_map* fmap) DECLSPEC_HIDDEN;
691 
692 /* rsym.c */
693 extern BOOL rsym_parse(struct module* module, unsigned long load_offset,
694  const void* rsym, int rsymlen) DECLSPEC_HIDDEN;
695 
696 
697 
698 /* stack.c */
699 #ifndef DBGHELP_STATIC_LIB
700 extern BOOL sw_read_mem(struct cpu_stack_walk* csw, DWORD64 addr, void* ptr, DWORD sz) DECLSPEC_HIDDEN;
701 #endif
703 extern void* sw_table_access(struct cpu_stack_walk* csw, DWORD64 addr) DECLSPEC_HIDDEN;
705 
706 /* symbol.c */
707 extern const char* symt_get_name(const struct symt* sym) DECLSPEC_HIDDEN;
708 extern WCHAR* symt_get_nameW(const struct symt* sym) DECLSPEC_HIDDEN;
709 extern BOOL symt_get_address(const struct symt* type, ULONG64* addr) DECLSPEC_HIDDEN;
710 extern int symt_cmp_addr(const void* p1, const void* p2) DECLSPEC_HIDDEN;
711 extern void copy_symbolW(SYMBOL_INFOW* siw, const SYMBOL_INFO* si) DECLSPEC_HIDDEN;
712 extern struct symt_ht*
714 extern struct symt_compiland*
715  symt_new_compiland(struct module* module, unsigned long address,
716  unsigned src_idx) DECLSPEC_HIDDEN;
717 extern struct symt_public*
718  symt_new_public(struct module* module,
719  struct symt_compiland* parent,
720  const char* typename,
721  unsigned long address, unsigned size) DECLSPEC_HIDDEN;
722 extern struct symt_data*
724  struct symt_compiland* parent,
725  const char* name, unsigned is_static,
726  struct location loc, unsigned long size,
727  struct symt* type) DECLSPEC_HIDDEN;
728 extern struct symt_function*
730  struct symt_compiland* parent,
731  const char* name,
732  unsigned long addr, unsigned long size,
733  struct symt* type) DECLSPEC_HIDDEN;
734 extern BOOL symt_normalize_function(struct module* module,
735  const struct symt_function* func) DECLSPEC_HIDDEN;
736 extern void symt_add_func_line(struct module* module,
737  struct symt_function* func,
738  unsigned source_idx, int line_num,
739  unsigned long offset) DECLSPEC_HIDDEN;
740 extern struct symt_data*
742  struct symt_function* func,
743  enum DataKind dt, const struct location* loc,
744  struct symt_block* block,
745  struct symt* type, const char* name) DECLSPEC_HIDDEN;
746 extern struct symt_block*
748  struct symt_function* func,
749  struct symt_block* block,
750  unsigned pc, unsigned len) DECLSPEC_HIDDEN;
751 extern struct symt_block*
753  const struct symt_function* func,
754  struct symt_block* block, unsigned pc) DECLSPEC_HIDDEN;
755 extern struct symt_hierarchy_point*
757  struct symt_function* func,
758  enum SymTagEnum point,
759  const struct location* loc,
760  const char* name) DECLSPEC_HIDDEN;
761 extern BOOL symt_fill_func_line_info(const struct module* module,
762  const struct symt_function* func,
765 extern struct symt_thunk*
766  symt_new_thunk(struct module* module,
767  struct symt_compiland* parent,
768  const char* name, THUNK_ORDINAL ord,
769  unsigned long addr, unsigned long size) DECLSPEC_HIDDEN;
770 extern struct symt_data*
772  struct symt_compiland* parent,
773  const char* name, struct symt* type,
774  const VARIANT* v) DECLSPEC_HIDDEN;
775 extern struct symt_hierarchy_point*
776  symt_new_label(struct module* module,
777  struct symt_compiland* compiland,
778  const char* name, unsigned long address) DECLSPEC_HIDDEN;
779 extern struct symt* symt_index2ptr(struct module* module, DWORD id) DECLSPEC_HIDDEN;
780 extern DWORD symt_ptr2index(struct module* module, const struct symt* sym) DECLSPEC_HIDDEN;
781 
782 /* type.c */
783 extern void symt_init_basic(struct module* module) DECLSPEC_HIDDEN;
784 extern BOOL symt_get_info(struct module* module, const struct symt* type,
785  IMAGEHLP_SYMBOL_TYPE_INFO req, void* pInfo) DECLSPEC_HIDDEN;
786 extern struct symt_basic*
787  symt_new_basic(struct module* module, enum BasicType,
788  const char* typename, unsigned size) DECLSPEC_HIDDEN;
789 extern struct symt_udt*
790  symt_new_udt(struct module* module, const char* typename,
791  unsigned size, enum UdtKind kind) DECLSPEC_HIDDEN;
792 extern BOOL symt_set_udt_size(struct module* module,
793  struct symt_udt* type, unsigned size) DECLSPEC_HIDDEN;
794 extern BOOL symt_add_udt_element(struct module* module,
795  struct symt_udt* udt_type,
796  const char* name,
797  struct symt* elt_type, unsigned offset,
798  unsigned size) DECLSPEC_HIDDEN;
799 extern struct symt_enum*
800  symt_new_enum(struct module* module, const char* typename,
801  struct symt* basetype) DECLSPEC_HIDDEN;
802 extern BOOL symt_add_enum_element(struct module* module,
803  struct symt_enum* enum_type,
804  const char* name, int value) DECLSPEC_HIDDEN;
805 extern struct symt_array*
806  symt_new_array(struct module* module, int min, int max,
807  struct symt* base, struct symt* index) DECLSPEC_HIDDEN;
808 extern struct symt_function_signature*
810  struct symt* ret_type,
813  struct symt_function_signature* sig,
814  struct symt* param) DECLSPEC_HIDDEN;
815 extern struct symt_pointer*
816  symt_new_pointer(struct module* module,
817  struct symt* ref_type,
818  unsigned long size) DECLSPEC_HIDDEN;
819 extern struct symt_typedef*
820  symt_new_typedef(struct module* module, struct symt* ref,
821  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:1249
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:3390
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:413
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:378
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:1459
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
uint8_t entry
Definition: isohybrid.c:63
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:1008
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:813
static int fd
Definition: io.c:51
HDC dc
Definition: cylfrac.c:34
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:814
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:1280
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
struct symt_public * symt_new_public(struct module *module, struct symt_compiland *parent, const char *typename, unsigned long address, unsigned size) DECLSPEC_HIDDEN
Definition: symbol.c:226
IMAGEHLP_STACK_FRAME ctx_frame
BOOL pdb_fetch_file_info(const struct pdb_lookup *pdb_lookup, unsigned *matched) DECLSPEC_HIDDEN
Definition: msc.c:2912
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:3261
SymTagEnum
Definition: compat.h:1213
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:3199
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:745
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
BOOL pe_load_nt_header(HANDLE hProc, DWORD64 base, IMAGE_NT_HEADERS *nth) DECLSPEC_HIDDEN
Definition: pe_module.c:836
BOOL symt_add_function_signature_parameter(struct module *module, struct symt_function_signature *sig, struct symt *param) DECLSPEC_HIDDEN
Definition: type.c:395
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:525
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:326
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:1272
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:863
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:817
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:256
struct module * pe_load_native_module(struct process *pcs, const WCHAR *name, HANDLE hFile, DWORD64 base, DWORD size) DECLSPEC_HIDDEN
Definition: pe_module.c:775
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:815
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:2659
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:1701
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
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
Definition: path.c:615
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:862
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:851
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:452
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
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
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:473
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:865
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:293
struct pdb_module_info * pdb_info
unsigned shift
Definition: rbtree.h:35
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK64)(HANDLE, ULONG, ULONG64, ULONG64)
Definition: compat.h:816
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:861
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:3518
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:864
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:1857
Definition: name.c:36
DWORD RVA
Definition: compat.h:896
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:496
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:554
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:440
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:1848
struct vector vchildren
struct symt_ht * symt_find_nearest(struct module *module, DWORD_PTR addr) DECLSPEC_HIDDEN
Definition: symbol.c:871
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