Commit Graph

154 Commits

Author SHA1 Message Date
Alexandre Julliard
ae5aacb4cc dbghelp: Don't fail to initialize if we can't load the main module as ELF. 2006-04-19 14:30:10 +02:00
Paul Vriens
0c24301394 dbghelp: Params of LPSTACKFRAME64 only has 4 elements. 2006-04-17 11:57:47 +02:00
Eric Pouech
983d8aea3e dbghelp: Module should be case insensitive.
When looking up a symbol name in the form module!name, the module
lookup should be insensitive.
2006-03-27 11:30:50 +02:00
Eric Pouech
12eb665402 dbghelp: MSC fixes.
- wrong cut & paste across versions of a given record type
- wrong definition for register_v2
2006-03-18 18:21:30 +01:00
Eric Pouech
7eefc9eb0d dbghelp: Support for LF_VTSHAPE in MSC.
- added preliminary support for VT (virtual table) shape
  type record
- as we don't do C++, it's just a hack to get rid of
  some errors
2006-03-18 18:21:06 +01:00
Eric Pouech
e737dbec7f dbghelp: MSC forward declaration.
- create an infrastructure for handling forward usage
  of type records
- used it in some cases (pointer to yet not defined udt,
  function signature, modifiers)
2006-03-18 18:20:50 +01:00
Eric Pouech
79b47204f0 dbghelp: Type parsing refactoring.
- seperate types' table handling from a single type handling
  by adding codeview_parse_one_type function
- factored all calls for caching symt
- make type parsing helpers return the symt instead of a
  simple error status
2006-03-18 18:20:37 +01:00
Eric Pouech
dadd1080ee dbghelp: Fixes for NB11 types.
- when checking debug info in NB09 or NB11 format (CodeView),
  try to load the global types section
2006-03-18 18:20:10 +01:00
Eric Pouech
9e6573315d dbghelp: MSC handling of function signature's parameters.
- now correctly parsing parameters types for a function
  signature and storing them in dbghelp internal structures
2006-03-18 18:18:18 +01:00
Eric Pouech
209e175d83 dbghelp: Cleanup MSC bitfield handling.
- no longer caching bitfield information but accessing it directly
  when needed
- removed all kludges for bitfield handling
- reused BOOL parameter to codeview_get_type for monitoring
  traces (will be used in later patches)
2006-03-18 18:17:56 +01:00
Eric Pouech
4c2cec5553 dbghelp: Fieldlist.
- now that we have offset tables to type, we can cleanly
  parse the field-lists and remove the associated kludges
- also adding internal structure for easing parameter sharing
  across functions (codeview_type_parse)
- in mscvpdb.h, also reparated the type records that are
  referenced from other type records (union codeview_type_ref)
  from type records referenced by symbols (union codeview_type)
2006-03-18 18:17:30 +01:00
Eric Pouech
633ab584c1 dbghelp: MSC types.
- enforce the type records that can be accessed by symbols (these are
  anyway the high level ones)
2006-03-18 18:17:08 +01:00
Eric Pouech
68a0ca7418 dbghelp: Types parsing.
- our engine for parsing types section now requires in entry
  an offsets table for getting directly to each type in the
  section
- (re)construct this table for PDB types
2006-03-18 18:16:50 +01:00
Eric Pouech
bbf0251c78 dbghelp: CV's ssearch.
- added definitions for start_search symbol info
- silenced warnings from this symbol
2006-03-18 18:16:23 +01:00
Eric Pouech
4143ce5e0b dbghelp: Moved codeview structures and definitions from msc.c to mscvpdb.h. 2006-03-18 18:15:43 +01:00
Eric Pouech
c0e0de6c4e dbghelp: Compiland and source files are not the same thing.
- in MSC debug info parsing, clearly separate a source file
  information from a compiland (including in linetab structure)
- in ELF debug info parsing, now storing compiland directly
  in symtab_elt while browsing the symtab section (we still
  create twice the compilands, once in stabs/dwarf parsing, 
  a second time in symtab parsing)
2006-03-18 18:15:14 +01:00
Eric Pouech
db90e17d92 dbghelp: Live target detection.
- DBGHELP_NOLIVE env variable is tested earlier to avoid 
  some strange effects in live target detection
- in WineDbg, delete DBGHELP_NOLIVE before attaching to
  a process, because we know it must be a live target
2006-03-18 18:05:38 +01:00
Eric Pouech
34636b026b dbghelp: Added type for array index.
- added type for array index
- correctly parsing array index type in stabs, Dwarf2 and MSC formats
- fixed SyGetTypeInfo accordingly
2006-03-06 11:42:44 +01:00
Eric Pouech
e70617883b dbghelp: Implemented TI_GET_COUNT in SymGetTypeInfo for function. 2006-03-06 11:37:02 +01:00
Eric Pouech
88aa6703af dbghelp: Virtual modules.
Rewrote virtual modules handling so that it's an option to either PE
or ELF modules rather than a specific type.
2006-02-20 12:16:08 +01:00
Eric Pouech
0f86dd9324 dbghelp: Fix SymFindFileInPath to return files matching the requested
criteria (it was mainly doing the opposite).
2006-02-20 11:14:34 +01:00
Alexandre Julliard
133b3069bb dbghelp: Use wine_dll_enum_load_path to search the dll load path. 2006-02-17 17:38:28 +01:00
Alexandre Julliard
29aea6e1c7 Fixed a couple of function prototypes. 2006-02-17 14:08:38 +01:00
Eric Pouech
c9de37d71c dbghelp: Always set the size to public symbols to 1 when we don't know the size
so that they can only be search on their start address
2006-02-14 14:04:16 +01:00
Eric Pouech
2ce5eca6a5 winedbg: Added support for function parameters passed in registers.
Added correct stabs parsing for function parameters in registers.
Added a couple of helper functions to make code smaller and more
readable.
2006-02-06 11:27:32 +01:00
Dmitry Timoshkov
57a579ffcd Make more arrays const. 2006-01-24 14:00:32 +01:00
Alexandre Julliard
9daaab54c7 winedbg: Use Win32 types instead of long long. 2006-01-23 16:47:07 +01:00
Eric Pouech
0509fe72c9 dbghelp: Return better values in module information.
- 32/64: number of symbols is now correct
- 64: the 64 bit extra fields are now initialized with some non null
  yet sensible value
2006-01-23 16:38:57 +01:00
Eric Pouech
bdf32ee032 dbghelp: Brought dbghelp.h a bit closer to PSDK definitions. 2006-01-23 16:37:48 +01:00
Eric Pouech
e5d09bf374 dbghelp: SymSetContext should return FALSE when setting twice the same
frame context.
2006-01-23 16:30:25 +01:00
Eric Pouech
eca3715f88 dbghelp: Live targets.
In SymInitialize, now trying to check if the hProcess is a real live
target or not. If we think it is, try to grasp ELF information from
it.
2006-01-23 16:30:03 +01:00
Eric Pouech
418591c8ea dbghelp: Started implementation of the global callback mechanism. 2006-01-23 16:29:21 +01:00
Eric Pouech
3792b1add3 dbghelp: Symbol info.
- better coding for SYMBOL_INFO filling
- some fixes on some fields (parameters)
- now using the max size for symbol info
2006-01-23 16:26:57 +01:00
Eric Pouech
558130a696 dbghelp: StackWalk (32 and 64 bit version).
- enhance implementation of StackWalk (32 and 64 bit version) by
  making use of module information and calling for FPO
- FPO part is still non functional
- implemented SymGetModuleBase64
- stubbed SymFunctionTableAccess64
2006-01-05 13:41:25 +01:00
Eric Pouech
5d210af9dc dbghelp: Removed no longer needed 'stub' in TRACEs. 2006-01-05 12:19:18 +01:00
Eric Pouech
a959732fff dbghelp: Internal search routines can now be case sensitive/insensitive.
- Now handling option SYMOPT_CASE_INSENSITIVE for symbol search.
- Quick implementation of SymSearch on top of SymEnumSymbols (should
  be the other way around).
2005-12-26 12:57:26 +01:00
Eric Pouech
87ab6e6cd8 dbghelp: Correct handling for all module names. 2005-12-22 11:11:39 +01:00
Eric Pouech
099cfeaac8 dbghelp: Added a few extensions to make windbg happy. 2005-12-20 11:49:24 +01:00
Eric Pouech
be849decf6 dbghelp: First stab at supporting calling convention in function signature. 2005-12-19 18:22:54 +01:00
Eric Pouech
750575ccf2 dbghelp: Return proper size for local & parameters in SYMBOL_INFO. 2005-12-19 18:20:47 +01:00
Eric Pouech
17d93f9855 dbghelp: Implemented SymMatchString. 2005-12-19 18:16:35 +01:00
Eric Pouech
a229618ef1 dbghelp: New stubs (needed for windbg startup). 2005-12-19 17:41:52 +01:00
Eric Pouech
177bf4c1a6 dbghelp: Fixed loading .so modules from a living target. 2005-12-19 17:41:43 +01:00
Eric Pouech
df7be14ce2 dbghelp: Fixed missing parameters info in StackWalk64. 2005-12-19 17:41:32 +01:00
Alexandre Julliard
ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Eric Pouech
7b11aacbae dbghelp: Final touch on StackWalk64 so that it works. 2005-12-06 21:21:31 +01:00
Eric Pouech
1f872df26c dbghelp: Implemented StackWalk64. 2005-12-05 12:50:10 +01:00
Eric Pouech
34db4856ae dbghelp,winedbg: SYMBOL_INFO fix.
- native dbghelp returns in SYMBOL_INFO.TypeIndex the index of the
   type of the symbol (we were returning the symbol index instead)
- fixed winedbg accordingly
2005-12-05 12:00:54 +01:00
Francois Gouget
e186f54c4e Add IMAGEHLP_MODULEW64.
Add SymGetModuleInfoW64() and SymLoadModule64().
2005-12-02 13:00:24 +01:00
Vitaliy Margolen
cb5e95c876 Stub StackWalk64. 2005-11-29 11:48:57 +01:00