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
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
Robert Shearman
f2aff0ecd8
Better fix for includes with relative paths.
2004-09-06 20:23:26 +00:00
Alexandre Julliard
65c3765739
Authors: Robert Shearman <rob@codeweavers.com>, Eric Pouech <pouech-eric@wanadoo.fr>
...
- Fix debug info look-up (bug in translating the RVA of the debug
directory).
- Fix code for adding PE export table as debug info (crash with NULL
passed to RtlImageDirectoryEntryToData).
- Fix computation of non-relocatable ELF shared objects size.
- Fix loading (while parsing the link map) of new non-relocatable ELF
shared objects (no longer take account load-address of link-map).
- Finished the AUTO_PUBLIC, NO_PUBLICS and PUBLICS_ONLY support for PE and ELF.
- Cleaned up public symbol management (which should now properly work).
2004-08-30 19:31:13 +00:00
Robert Shearman
3088ba32fe
Store the current source directory and use it when encountering a
...
relative include so that the full path to it is stored instead.
2004-08-23 17:56:07 +00:00
Alexandre Julliard
25e2a320a7
Don't define BEGIN_INTERFACE in unknwn.h.
2004-08-22 21:38:46 +00:00
Dmitry Timoshkov
1e268017d1
module->addr_sorttab may be NULL due to a hack in
...
elf_new_wine_thunks.
2004-08-09 18:50:21 +00:00
Jon Griffiths
5288361f52
Prevent the debug buffer from overflowing on long stabs.
2004-07-14 00:44:27 +00:00
Alexandre Julliard
d13e0c98ad
Fixed handling of includes stack.
2004-07-14 00:42:25 +00:00
Eric Pouech
40f09314e4
- added support for GCC static local variables
...
- fixed some bugs in SYMOPT_NO_PUBLICS and SYMOPT_PUBLICS_ONLY
handling
- in stabs parsing, just drop any debug info for a module if stabs
parsing fails (instead of assert()'ing)
- symbol lookup now allows lookup in pure ELF modules
- fixed some bugs in symbol enumeration
2004-07-04 00:10:54 +00:00
Eric Pouech
eb25084eee
- implemented EnumDirTree, SearchTreeForFile, SymFindFileInPath,
...
SymMatchFileName
- made use of SymFindFileInPath to lookup .dbg and .pdb files
- fixed a crash in CodeView enum handling
2004-06-14 17:58:31 +00:00
Dmitry Timoshkov
c4a5c7359b
Fix elf_read_wine_loader_dbg_info() for the !__ELF__ case.
2004-05-24 19:10:04 +00:00
Eric Pouech
eef83b38e1
- some more fixes to elf module's symbol table handling (including
...
static/global diff for variables)
- now re-synchronizing ELF list in all cases (no longer depending on
RT_CONSISTENT state)
- now should be able to differentiate properly a native from a builtin
module
- in symbol lookup, now using size of symbol (if known)
- SymGetTypeInfo now checks and uses BaseAddress
- in MSC-CV, really generate thunk objects
2004-05-24 19:08:19 +00:00
Eric Pouech
48a865983d
- removed file extension from module (and suffixed ELF modules with
...
<elf>)
- added generic thunk support for builtin modules (with the help of
winebuild's new markers for thunks)
- for ELF modules, no longer generating SymTagPublicSymbols objects
from ELF public symbol table
- because of last point, rewrote stabs symbols' address and size
management by parsing directly the symtab instead of using
SymTagPublicSymbols objects
- cleaned up SymTagPublicSymbols object names for native modules
- fixed off by one errors in array management
- SymLoadModule(hProc,0,0,0,0) (wine extension) will force the
resynchronization of internal ELF modules list)
- new option (0x40000000) for Sym{Get|Set}Option to report ELF modules
in SymEnumModules (as well as loader with <wine-loader>)
- some minor internal clean-ups
- enhanced const correctness
2004-05-18 21:29:09 +00:00
Patrik Stridvall
070db4e5de
Fixed some issues found by winapi_check.
2004-05-17 21:08:31 +00:00
Eric Pouech
c5e0a696d9
- fixed some bugs in StackWalk (claimed for but forgotten in last
...
patch)
- removed location field in symt_data, and reworked the actual
location of information based on the 'kind' field
- shorten debug channel name
- added support for bitfield in struct:s
- cleaned up source line information support
- now storing constants values as VARIANT
2004-04-30 04:15:41 +00:00
Francois Gouget
66834324b1
Assorted spelling fixes.
...
Remove wszRegSeparator from devenum_private.h since it's neither
exported by createdevenum.c nor used by anyone else.
2004-04-20 04:03:42 +00:00
Eric Pouech
eb80f29350
- implemented support for function debug start/stop and labels (msc.c
...
and stabs.c)
- started implementing typedef support
- functions now have a real function signature (only in stabs.c, still
to be done in msc.c)
- small enhancements to TI_GET_TYPE for functions
- added support for functions' block and local variables in registers
(msc.c)
- fixed some bugs in StackWalk
- constants are now stored as variants (instead of unsigned ints)
- fixed regular expression management (dbghelp's RE are not the same
as POSIX ones)
2004-04-19 02:58:27 +00:00
Emmanuel Maillard
d43e1b24ad
Fixed a compile error on non-i386.
2004-04-17 00:22:34 +00:00
Kevin Koltzau
5b338a87d8
Fix a few compile errors when cross compiling.
2004-04-15 04:58:55 +00:00
Gerald Pfeifer
cd69b118c2
Cast third parameter of elf_search_and_load_file() to proper type.
2004-04-07 19:06:10 +00:00
Gerald Pfeifer
03a4f56824
Avoid compiler warning in vector_position().
2004-04-06 20:13:37 +00:00
Eric Pouech
800864a050
First shot at implementing dbghelp.
2004-04-05 22:21:27 +00:00