Commit Graph

171 Commits

Author SHA1 Message Date
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
Eric Pouech d10a90dca0 Added support for 'loading' virtual modules. 2005-11-29 11:47:40 +01:00
Eric Pouech 82aa9210df Implemented SymGet{Next|Prev}Line64. 2005-11-29 11:45:28 +01:00
Eric Pouech 8bd3c060ec Now correctly checking calling down to 32 bit version. 2005-11-29 11:45:16 +01:00
Eric Pouech dd3e1dc525 Implemented SymGetModuleInfo64. 2005-11-29 11:42:13 +01:00
Eric Pouech 22f9f4f0c3 Implemented SymUnloadModule64. 2005-11-29 11:35:10 +01:00
Eric Pouech 1cb1183037 Implemented SymLoadModuleEx. 2005-11-29 11:24:46 +01:00
Eric Pouech 2efa0314d9 Added stub for dbghelp.SymRegisterCallback64. 2005-11-29 10:42:49 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Eric Pouech 7a431fc826 Added stubs for DbgHelp functions: SymRegisterFunctionEntryCallback. 2005-11-28 10:40:02 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Eric Pouech 73b0e94bb3 Now returning correct symbol flags (as native does) for function pmts
& locals in dbghelp.
Modified winedbg accordingly.
2005-11-18 12:05:44 +00:00
Eric Pouech f7dd869ebf Dbghelp describes the types of function arguments with a specific
symbol-type (symt) which links both to arguments' type and to function
prototype
- added this new type to dbghelp
- implemented its use in winedbg
2005-11-17 12:53:41 +00:00
Eric Pouech 6b7bebfbf9 SymGetType(...,TI_GET_LENGTH,...) requires a 64 bit parameter, not a
32 bit one.
2005-11-17 11:51:53 +00:00
Vincent Béron 297ef3af20 Fix typo: PSYM_ENUMSOURCEFILES_CALLBACK instead of
PSYM_ENUMSOURCFILES_CALLBACK.
2005-11-04 11:16:48 +00:00
Eric Pouech 9c1b57c3d4 Implemented SymEnumLines. 2005-11-03 09:51:26 +00:00
Eric Pouech f653a09d33 - N_PSYM stabs blocks (aka parameters) can also contain a typedef
- shorten some paths
2005-10-03 10:16:15 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Marcus Meissner bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 4c34d9386c Specify 64-bit integers as double instead of long long in spec files
so that we get the correct number of arguments.
2005-09-09 15:05:01 +00:00
Mike McCormack b5bd4a101a Fix gcc 4.0 warnings. 2005-09-02 14:47:36 +00:00
Alexandre Julliard 705bc7b481 Added a couple of missing stubs for the non-ELF case. 2005-08-29 09:46:32 +00:00
Alexandre Julliard 49b7fdcfc0 Removed the broken mmap64 configure check, and moved the
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +00:00
Peter Oberndorfer 68a4da07eb Added stub for SymSetParentWindow. 2005-07-29 14:42:37 +00:00
Alexandre Julliard 22fd30c0a5 We no longer have thunks in the data section. 2005-07-07 12:03:57 +00:00
Eric Pouech 809edabfbe Const correctness fixes. 2005-06-27 09:53:46 +00:00
Alexandre Julliard f84401aa17 Sort entry points in the same order as Windows. 2005-06-23 09:57:11 +00:00
Mike McCormack f55de5cf35 Fix warnings exposed by -Wmissing-declarations and -Wwrite-strings. 2005-06-09 09:46:39 +00:00
Paul Vriens 4129e6e17f Add SymLoadModule64. 2005-05-29 20:02:42 +00:00
Eric Pouech f09a26067f - fixed ReadProcessMemoryProc prototype
- made StackWalk work when dbghelp is run against a non running
  process
2005-05-23 11:43:44 +00:00
Raphael Junqueira 54acd10dfe - fixme when unexpected children found
- no more dwarf2_check_sibling errors (ie perfect parsing count) :)
- dwarf2_parse_inlined_subroutine, dwarf2_parse_variable
2005-05-23 09:50:15 +00:00
Raphael Junqueira 79804db4e2 - better traces
- handle inclusion "levels"
- better parsing of subprogram, typedef, pointer, ... entries
- arrays, enums, const_type, reference_type parsing
- checks parsing cursors errors (when sibling value available)
- more utilities functions (dwarf2_parse_attr_as_data)
2005-05-20 09:41:10 +00:00
Raphael Junqueira 34955b9578 - basic parsing of subprogram, typedef, pointer, class, struct, enum
entries
- indirect strings support
- utilities functions (parse_byte, parse_u2, ...)
2005-05-19 11:14:39 +00:00
Alexandre Julliard 8ee01679dc Fixed a couple of warnings. 2005-05-18 13:27:24 +00:00
Raphael Junqueira 86cdb432c5 - add some Dwarf2 enums
- abbrev entries parser (with attributes)
- debug info parser skeleton (see big tag swith in dwarf2_parse).
2005-05-18 09:46:12 +00:00
Raphael Junqueira 92000a91da Fix open_pdb_file (used for locate/open pdbs):
- pdb_match heuristic now only stop when "first file" exists
- SymFindFileInPath now fill output buffer with a valid value on
  success.
2005-05-18 09:42:17 +00:00
Raphael Junqueira 83f001b6c7 Beginning of dbghelp dwarf2 support:
- add elf_module entry for dwarf2_parse
- stubbed dwarf2_parse in new dwarf.c file
2005-05-17 14:32:55 +00:00
Alexandre Julliard e4412a618c Removed the special casing of kernel32 and ntdll for the TEB
definition in winternl.h.
2005-05-16 17:52:10 +00:00
Alexandre Julliard 827a69f8ca Avoid referencing stackframe.h from outside kernel32. 2005-05-16 14:20:16 +00:00
Hans Leidekker 56058ddb15 Silence some unknown stab type messages. 2005-05-16 08:47:55 +00:00
Alexandre Julliard d876893fc1 Store the 16-bit stack pointer in the WOW32Reserved TEB field. 2005-05-14 12:16:46 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Francois Gouget 821d4c4645 Fix nativeapi.pm so it knows about AC_HEADER_STAT().
Make the error message about unexpected '#ifdef HAVE_XXX' clearer.
Protect sys/stat.h #includes with the corresponding '#ifdef HAVE_XXX'
check.
2005-05-06 16:22:54 +00:00
Emmanuel Maillard 034ebcc19e Fix compile on non-ELF host. 2005-05-05 09:50:13 +00:00
Peter Berg Larsen 972a949552 Eliminate strncpy and correct some NameLen bugs. 2005-04-18 15:34:10 +00:00
Peter Berg Larsen 716bf4d6fb Elimination of lstrcpyn, and corrected a potential pointer bug. 2005-04-18 15:33:31 +00:00
Eric Pouech 7ea69cc7ea - Various improvements for minidump module information
. added timestamp & checksum in PE module
  . added size & checksum in ELF module
  . wine loader now appears with its pathname.
- Implemented PE & ELF timestamp & checksum validation in
  SymFindFileInPath.
2005-03-29 13:14:08 +00:00
Eric Pouech 61beaf48d3 - PDB: better checking for error conditions
- Fixed name demangling (when activated) when searching for a symbol
2005-03-29 11:30:57 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Filip Navara b4e5e049ba Initialize the "toc" field in the pdb_lookup structure in order to
prevent pdb_free_lookup from trying to delete invalid pointers.
2005-03-15 19:32:14 +00:00
Eric Pouech f332412092 When initializing a live target, ask to load module file names, not
module names (spotted by Robert Reif).
2005-03-07 12:24:02 +00:00
Eric Pouech 642402d581 Added support for minidump (read & write). 2005-03-07 11:03:21 +00:00
Eric Pouech 01aa71371b Memory consumption optimization while loading ELF debug info:
- don't map twice an ELF file for symbol lookup (in non deferred mode)
- no longer entirely map an ELF file into memory, but only the
  sections we need.
Added support for loading ELF modules thru SymLoadModule in a non life
process.
Factorisation of code for ELF module handling.
Fixes to ELF symbol loading
- drops symbols from symtab which are neither funcs nor global
  variables
- fixes some incorrect size computation for latest GCC versions.
Several cleanups and fixes.
2005-03-01 10:39:49 +00:00
Mike Hearn 7acd363973 Change an ERR to a WARN. 2005-02-09 22:21:58 +00:00
Alexandre Julliard 2dd40110a0 Silence a noisy FIXME. 2005-01-31 16:24:57 +00:00
Eric Pouech 499cff6f26 Cleanup of dbghelp.h (and a couple of definition fixes). The
displacements (in most of the functions) are not optional.
2005-01-31 11:34:59 +00:00
Eric Pouech e4a44b3545 Various fixes for C++ class parsing (nesting, templates) (from test
cases provided by Michael Lin).
2005-01-31 11:29:09 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Michael Stefaniuc 15a308a9d7 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-03 14:56:42 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Francois Gouget 6fb1a20020 Assorted spelling fixes. 2004-12-20 19:27:06 +00:00
James Hawkins 74d32620eb Remove c++-style comment. 2004-12-06 11:41:32 +00:00
Eric Pouech 25cdb4c236 Fixed regressions introduced when moving addresses as 64bit values. 2004-11-22 18:30:10 +00:00
Eric Pouech 9995c7d368 - moved into new mscvpdb.h (out of msc.c) all types and defines needed
to parse debug files generated by MS tools
- moved into coff.c (and out of msc.c) the COFF handling
- cleaned lots of types (add consistency across structs)
- versioning of some defines and types (to follow MS tools evolution)
- enhanced V2 of symbols parsing (some more types recognized, support
  of imported .pdb files)
- added support for newest .pdb format
2004-11-21 15:51:47 +00:00
Eric Pouech 954a612c49 - implement SymUnDName and UndecorateSymbolName on top of
msvcrt.__unDName
- implement SYMOPT_UNDNAME support
2004-11-19 18:02:47 +00:00
Eric Pouech dc43edff39 - fixed loading stabs from PE modules compiled with MingW
- enhance some loading logic between ELF/PE DLL pairs
- removed unused indirect memory access function
- get rid of some GCC generated symbols
2004-11-08 20:26:22 +00:00
Francois Gouget 9c3246803b Fix the declaration of SymEnumSymbols() in dbghelp.spec.
Use PVOID instead of void* for consistency.
Update the dbghelp section in win32.api.
2004-10-21 19:57:56 +00:00
Vincent Béron 4eeae1adb3 Fix some types problems. 2004-10-18 22:39:21 +00:00
Robert Shearman 6c50556e8b Fix function and structure field types so we are compatible with the
native dbghelp.
2004-10-11 21:00:17 +00:00
Robert Shearman 5f21fd47f8 - Move header parsing to callers of pe_load_debug_directory.
- Add stubs and structures for LF_PROCEDURE types.
2004-10-11 20:08:07 +00:00
Jon Griffiths 5ae461aa69 Vectors need all 32 bits to handle _really_ large apps. 2004-10-07 17:33:43 +00:00
Francois Gouget 67aa858a31 Assorted spelling fixes. 2004-10-05 18:15:29 +00:00
Wolfgang Schwotzer 0d4f4d9051 MakeSureDirectoryPathExists: Recursively create path up to last '\\'. 2004-10-05 02:05:28 +00:00
Robert Shearman 1abb0a57c6 Add support for .gnu_debuglink. 2004-10-04 20:41:22 +00:00
Robert Shearman 20546c84bb - Check for string pointer being outside of the string table.
- Only parse typedefs on stabs entries that can have them.
2004-10-04 19:31:05 +00:00
Robert Shearman be7c95a3e5 Fix the loading .dbg files by no longer using RtlImageNtHeader which
would return NULL and using looking at the IMAGE_SEPARATE_DEBUG_HEADER
directly instead.
2004-10-04 19:30:50 +00:00
Robert Shearman ef8ba283b8 Rewrite a section of code so that it doesn't use exit(0) when out of
memory.
2004-10-04 19:02:36 +00:00
Robert Shearman ffbed1ff9c Print out a slightly more informative message if an ELF module fails
to load.
2004-10-04 18:59:10 +00:00
Eric Pouech 6e7d28d502 - now storing vector of types on a per module basis (and giving it
back in SymEnumTypes)
- flagging local register vars as local too
2004-09-27 20:31:42 +00:00
Robert Shearman e4e7186b25 Fix debugger for flat PC and non-flat frame. 2004-09-23 04:27:46 +00:00
Robert Shearman 6f17eee7a9 Implement ImageDirectoryEntryToData by forwarding it to the ntdll
implementation of the function.
2004-09-10 19:34:29 +00:00