Eric Pouech
ce7656d218
dbghelp: Prevent debug overflow of internal buffer while tracing.
2008-04-07 11:27:52 +02:00
Eric Pouech
f46d717818
dbghelp: Be stricter when looping in symbol tables.
2008-04-07 11:27:46 +02:00
Andrew Talbot
ae1791b0b8
dbghelp: Fix type mismatch in comparison.
2008-03-31 12:51:11 +02:00
Austin English
06d429d6b6
Spelling fixes.
2008-03-27 20:48:19 +01:00
Rob Shearman
48000893f9
makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
...
Only specify the root to keep platform-specifics out of the individual
DLL makefiles.
2008-03-04 20:55:01 +01:00
Andrew Talbot
53e9e24aa2
dbghelp: Assign to struct instead of using memcpy.
2008-03-01 12:02:13 +01:00
Rob Shearman
5dd2f1efa8
Include config.h and wine/port.h in files that use snprintf.
2008-02-29 12:39:28 +01:00
Rob Shearman
97a9ca3f4a
dbghelp: Define NONAMELESSUNION in dwarf.c and type.c as they access VARIANT fields directly.
2008-02-28 10:50:57 +01:00
Rob Shearman
f21b91c0a2
dbghelp: Fix read beyond end of field in module_get_debug.
2008-02-21 20:16:04 +01:00
Rob Shearman
5e1976368a
dbghelp: VARIANT unions are accessed by name in msc.c so define NONAMELESSUNION.
2008-02-21 20:15:59 +01:00
Andrew Talbot
6733c6bad0
dbghelp: Assign to struct instead of using memcpy.
2008-02-15 11:09:34 +01:00
Rob Shearman
f48941a2a8
dbghelp: Fix a typo in SymLoadModuleExW that caused the wrong number of characters to be passed to lstrcpynW.
2008-02-15 11:03:42 +01:00
Eric Pouech
4823663957
dbghelp: Fix erroneous access to dwarf symbol cache.
...
(Spotted by Dan Kegel with valgrind).
2008-02-12 22:40:46 +01:00
Eric Pouech
62634b8025
dbghelp: Disable the S_PUB_FUNC_XXX msc symbols until we know what they do (the first guess is wrong anyway).
2008-02-07 11:59:52 +01:00
Eric Pouech
ee1a9af0ce
dbghelp: When sending back information about a global symbol, only demangle the class & field/method name.
2008-02-07 11:59:52 +01:00
Eric Pouech
43afc9178b
dbghelp: Attempt to cache some basic symbol types for easier and faster code.
2008-02-07 11:59:52 +01:00
Eric Pouech
75803e9448
dbghelp: Extended the internal enumeration information so that we know the underlying integral type.
2008-02-07 11:59:52 +01:00
Eric Pouech
752a260402
dbghelp: Added basic support for base class information.
...
As we don't support C++ for now, we just return FALSE for all cases.
2008-02-07 11:59:52 +01:00
Eric Pouech
a4dfe1b042
dbghelp: Added support for labels outside functions (and used it in msc parsing).
2008-02-07 11:59:52 +01:00
Eric Pouech
aaa2862bf9
dbghelp: Added preliminary support for a strange stack variable object.
2008-02-07 11:59:52 +01:00
Eric Pouech
22f01fcc48
dbghelp: Added support for register v3 in msc.
2008-02-07 11:59:52 +01:00
Eric Pouech
ac3b817d80
dbghelp: Added support for some V3 fields in structure parsing.
2008-02-07 11:59:52 +01:00
Eric Pouech
b49d2b4e22
dbghelp: Added HRESULT as new basic type (and some doc about basic types ids).
2008-02-07 11:59:52 +01:00
Eric Pouech
464d51e75a
dbghelp: Pass the 'details' flags to _fetch_type so that we can simplify some code around.
2008-02-07 11:59:52 +01:00
Eric Pouech
428d0e5464
dbghelp: Added missing basic types for booleans and integers.
2008-02-07 11:59:52 +01:00
Eric Pouech
8b7039d894
dbghelp: Fixed the types we want to load at first.
2008-02-05 11:13:47 +01:00
Eric Pouech
7b81ea47c6
dbghelp: Store the PE version information in module block.
2008-02-04 12:46:12 +01:00
Eric Pouech
8e45b07483
dbghelp: Removed double assignment of checksum.
2008-02-04 12:45:44 +01:00
Eric Pouech
04c0ffdc47
dbghelp: Fixed the suspend count when creating a minidump in the middle of an exception.
2008-02-04 12:45:37 +01:00
Eric Pouech
ecdbae7ceb
dbghelp: Return the size of each directory instead of passing a pointer to it.
2008-02-04 12:45:27 +01:00
Eric van Beurden
cb9596484d
dbghelp: Prevent huge minidumps by ensuring the memory range is clamped.
2008-01-18 12:39:13 +01:00
Eric van Beurden
692998292c
dbghelp: Fix file searching to search only listed directories instead of the whole HD.
2008-01-18 12:25:20 +01:00
Eric van Beurden
ebc35e688c
dbghelp: Some minidump corrections so that windbg can read our minidump files.
2008-01-18 12:25:05 +01:00
Eric van Beurden
e254a1d929
dbghelp: Wrap TRACE strings using the debugstr functions and update some type casting.
2008-01-18 12:18:20 +01:00
Eric van Beurden
a5a35ec211
dbghelp: Return TRUE in SymInitializeW if process is already initialized and add an ERR to SymCleanup.
2008-01-18 12:16:23 +01:00
Francois Gouget
44b52b128c
Assorted spelling fixes.
2008-01-16 12:48:29 +01:00
Eric Pouech
b32cfb18cd
dbghelp: In Minidump, change a couple of internal names for consistency.
2008-01-14 13:36:42 +01:00
Eric Pouech
2af9736fbb
dbghelp: Silence superfluous message (spotted by Robert Reif).
2008-01-14 13:36:38 +01:00
Andrey Turkin
9e2c76c6d4
dbghelp: Implement ImageDirectoryEntryToDataEx.
2008-01-11 13:43:44 +01:00
Andrew Talbot
159672d01c
dbghelp: Remove unneeded casts.
2008-01-02 12:38:41 +01:00
Andrey Turkin
a38cd7ac01
dbghelp: Treat const addresses as const unsigned.
...
This will prevent winedbg from spamming about __wine_dbch__default.
2007-12-26 14:02:22 +01:00
Andrey Turkin
33df0a7605
dbghelp: Adjust minidump streams ordering and sizing.
...
To more closely match native format; this is required for windbg.
2007-12-23 13:55:22 +01:00
Detlef Riekenberg
efb13b28df
Assorted spelling fixes.
2007-12-08 19:55:39 +01:00
Andrew Talbot
f2223dbe79
dbghelp: Remove unneeded casts.
2007-12-05 12:04:48 +01:00
Vitaliy Margolen
dfe21d0ef5
dbghelp: Fix detection of ELF libs by their name.
2007-10-29 13:58:35 +01:00
Andrey Turkin
4c8e88df7e
dbghelp: Avoid crashing on files with bogus export table.
2007-10-10 11:18:26 +02:00
Francois Gouget
a399e3bcc4
dbghelp: Fix the PENUMLOADED_MODULES_CALLBACK() prototype.
2007-09-18 11:21:21 +02:00
Francois Gouget
9d2f48dc0f
dbghelp: Better match the PSDK types, especially with regards to constness.
...
Also add a number of missing prototypes, especially 64bit or Unicode
versions of existing prototypes, and the related structures. Update
win32.api to fix the winapi_check warnings.
2007-08-03 12:43:40 +02:00
Andrew Talbot
f8198e6688
dbghelp: Cast-qual warnings fix.
2007-07-20 11:46:04 +02:00
Michael Stefaniuc
f59c8a688f
dbghelp: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:40 +02:00
Francois Gouget
96c337f0a1
Assorted spelling fixes.
2007-06-07 19:24:32 +02:00
Peter Oberndorfer
b19fa1d282
dbghelp: Minor cleanup.
2007-05-17 12:44:50 +02:00
Markus Amsler
6f8a67f018
dbghelp: Late init hash_table.
2007-05-15 20:20:07 +02:00
Markus Amsler
8bc839a816
dbghelp: Speed up vector iteration by directly using for().
2007-05-15 20:19:53 +02:00
Markus Amsler
a2968c8fab
dbghelp: Speed up pool_alloc. Patch by Eric Pouech.
2007-05-15 20:19:36 +02:00
Markus Amsler
f94127f2ca
dbghelp: Speed up vector_add by avoiding pool_realloc calls. Remove no longer needed pool_realloc.
2007-05-15 20:19:28 +02:00
Andrew Talbot
dcb298b468
dbghelp: Exclude unused headers.
2007-05-01 11:42:24 +02:00
Andrey Turkin
234babeaf0
dbghelp: Zero-terminate module name in minidump.
2007-04-30 13:33:40 +02:00
Michael Stefaniuc
5f62da109e
janitorial: Pass HEAP_ZERO_MEMORY as flag to HeapAlloc() instead of zeroing out the allocated memory in a later call.
2007-04-25 12:26:07 +02:00
Alexandre Julliard
9583c1137b
dbghelp: Don't print garbage chars in ERR message.
2007-04-23 15:11:58 +02:00
Andrew Talbot
a224fdb14e
dbghelp: Constify some variables.
2007-04-20 13:04:11 +02:00
Andrew Talbot
645d76f889
dbghelp: Constify some variables.
2007-04-19 11:56:30 +02:00
Andrew Talbot
099bb87feb
dbghelp: Constify some variables.
2007-04-18 13:00:57 +02:00
Andrew Talbot
6a23efdaa2
dbghelp: Replace inline static with static inline.
2007-03-21 16:02:57 +01:00
Alexandre Julliard
b677e81d8f
dbghelp: Avoid some warnings on Solaris.
2007-03-17 20:05:34 +01:00
Peter Oberndorfer
debcf7fa32
dbghelp: Use elf load_offset passed to dwarf2_parse to relocate addresses.
...
This is needed, because symbol addresses in dwarf2 debug info are already relocated.
2007-03-16 11:35:00 +01:00
Peter Oberndorfer
25203bd87e
dbghelp: Fix up load_offset to work in case the load offset is different for real binary and debug link file.
2007-03-16 11:34:47 +01:00
Peter Oberndorfer
7bbb212050
dbghelp: Initialize the elf_section_map in case of failures in elf_find_section.
...
Make sidx signed so sidx < 0 comparisons work.
(most of the patch written by Eric Pouech)
2007-03-16 11:34:33 +01:00
Eric Pouech
f1436139fc
dbghelp: Rewrote SymEnumerateModules with Unicode basis, and implemented SymEnumerateModulesW64.
2007-03-14 22:43:58 +01:00
Eric Pouech
9a0e666733
dbghelp: Renamed pe_load_module (resp pe_load_module_from_pcs)
...
to pe_load_native_module (resp pe_load_builtin_module) to better describe
what those functions actually do.
2007-03-13 21:07:47 +01:00
Eric Pouech
f2cfb374a4
dbghelp: Get rid of module_name in all traces (using Unicode flavor).
2007-03-13 21:02:42 +01:00
Eric Pouech
ade919c603
dbghelp: Cleanups for module loading (lookups on module name and image name are two different things)
...
- split up module_find_by_name in two different functions:
+ reused module_find_by_name which looks upon the module name
+ added module_is_already_loaded which looks upon the image name
- cleanup module loading using these functions (removed extra parameter
to pe_load_module_from_pcs)
2007-03-13 20:58:08 +01:00
Eric Pouech
59f93f64b7
dbghelp: Rewrote module_is_elf_container_loaded so that it no longer
...
uses the stored ModuleName (that the dbghelp's caller can override) but rather a
combination of base address and filename for the module.
2007-03-13 20:54:21 +01:00
Eric Pouech
a6a57c934c
dbghelp: Added helper to get the basename + extension from full filename.
2007-03-13 20:52:58 +01:00
Francois Gouget
7b89fb5e35
dbghelp: Check file handles against INVALID_HANDLE_VALUE, not NULL.
2007-03-08 21:31:00 +01:00
Eric Pouech
f4e129ab81
dbghelp: Fixes for loading circular references on function signature.
2007-03-05 12:15:31 +01:00
Eric Pouech
ccf0be8e57
dbghelp: Implemented SymEnumTypesW.
2007-03-05 12:15:16 +01:00
Eric Pouech
e161dd92ee
dbghelp: Handle the .gnu_debuglink files with the newly added alternate mechanism.
2007-02-26 14:39:52 +01:00
Eric Pouech
fc66bb37f4
dbghelp: Allow to add an alternate file_map for an ELF file (where to look for its debug information).
2007-02-26 14:39:38 +01:00
Eric Pouech
62b57f9e21
dbghelp: Rewrote the ELF section mapper for better data encapsulation.
2007-02-26 14:39:16 +01:00
Eric Pouech
8d3167cc9a
dbghelp: Merge the A/W of elf_map_file into a single one.
2007-02-22 12:34:09 +01:00
Eric Pouech
0c1e33bb06
dbghelp: Now load the .gnu_debuglink file using Unicode search paths.
2007-02-22 12:33:37 +01:00
Eric Pouech
4aab161297
dbghelp: Added helper to map a Unicode file.
2007-02-22 12:33:14 +01:00
Eric Pouech
3565d93ebe
dbghelp: Now moving the ELF loading code to Unicode.
2007-02-22 12:32:17 +01:00
Eric Pouech
c1269392e0
dbghelp: Move elf_fetch_file_info to Unicode.
2007-02-22 12:29:53 +01:00
Eric Pouech
039d54a4bf
dbghelp: Make elf_enum_modules a Unicode function.
2007-02-22 12:29:27 +01:00
Eric Pouech
89bc65695f
dbghelp: Now storing module internal info for minidumps in Unicode.
2007-02-22 12:28:59 +01:00
Eric Pouech
c0fa60f547
dbghelp: A few fixes related to Unicode translation.
2007-02-22 12:27:39 +01:00
Eric Pouech
1690cf1815
dbghelp: Moved the internals for registered callback to Unicode.
2007-02-22 12:27:16 +01:00
Eric Pouech
180127dd94
dbghelp: Get rid of temporary module_get_type_by_nameA.
2007-02-22 12:27:00 +01:00
Eric Pouech
2f0ed90c4e
dbghelp: Implemented SymFindFileInPathW.
2007-02-22 12:26:16 +01:00
Eric Pouech
9e1f9ec19e
dbghelp: Implemented SearchTreeForFileW.
2007-02-22 12:22:26 +01:00
Eric Pouech
c0be0032de
dbghelp: Implemented EnumDirTreeW.
2007-02-22 12:22:05 +01:00
Eric Pouech
8b861202ba
dbghelp: Implemented SymMatchFileNameW.
2007-02-22 12:21:40 +01:00
Eric Pouech
d707fe5ac3
dbghelp: Added module_get_type_by_name in Unicode form and keep the ANSI form for compatibility.
2007-02-22 12:21:14 +01:00
Eric Pouech
46684a9fb6
dbghelp: Moved ELF module loading interfaces to Unicode.
...
The core the code remains ANSI, as all the information is stored as ANSI.
2007-02-22 12:20:03 +01:00
Eric Pouech
6a859fb0e6
dbghelp: Move PE module loading to Unicode.
2007-02-22 11:41:15 +01:00
Eric Pouech
bcc1913354
dbghelp: Implemented FindExecutableImage[W].
2007-02-22 11:39:52 +01:00
Eric Pouech
43dffcd05d
dbghelp: Now storing module information in Unicode form.
2007-02-22 11:39:08 +01:00
Eric Pouech
6efc061992
dbghelp: .gnu_link support: rewrote helper functions for better later unicodification.
2007-02-22 11:35:21 +01:00
Eric Pouech
c75fb89a64
dbghelp: Prepare module loading functions to be switched to Unicode module storage.
2007-02-22 11:34:20 +01:00
Eric Pouech
50de2e2e4a
dbghelp: Make the module info functions ready for the Unicode move.
2007-02-22 11:33:06 +01:00
Eric Pouech
fcd3972fa8
dbghelp: Rewrote the loaded modules enumeration so that Unicode version is the core.
2007-02-22 11:32:05 +01:00
Eric Pouech
aac77c98a2
dbghelp: Added an ANSI copy of the module name (useful for next patches).
2007-02-22 11:28:53 +01:00
Eric Pouech
33c8ffc301
dbghelp: Added helper to define the module's name.
2007-02-22 11:28:13 +01:00
Rob Shearman
272d7ab46a
dbghelp: ImageName is usually blank, so print LoadedImageName in elf_load_debug_info_map.
2007-02-21 19:49:43 +01:00
Eric Pouech
fa9be99568
dbghelp: MiniDumpWriteDump called from exception handler.
...
- MiniDumpWriteDump was unable to provide stack information for the current
thread, hence did produce unusable minidump when a programs generates the
minidump from its own exception handler.
- We now support this if the current thread calls MiniDumpWriteDump from an
exception handler and provides the exception information.
2007-02-20 20:31:01 +01:00
Marcus Meissner
e37ff84eff
dbghelp: Return when not finding the name.
2007-02-19 12:37:37 +01:00
Rob Shearman
3f8215d214
dbghelp: nread can be NULL for read_mem and read_mem64.
2007-02-15 19:15:35 +01:00
Dmitry Timoshkov
736743dd57
dbghelp: Turn a FIXME to a WARN in order to avoid mangling the output.
2007-02-05 12:30:00 +01:00
Francois Gouget
e10222ced7
dbghelp: Fix the spec file to better match the SymGetSymFromAddr64() prototype.
...
This fixes a winapi_check warning.
2007-01-25 11:05:24 +01:00
Frank Richter
867ebe4da0
dbghelp: Search for .gnu_debuglink file.
2007-01-17 11:40:10 +01:00
Eric Pouech
2e34ea4e01
dbghelp: Removed unneeded code from rewrite of .gnu_link handling.
2007-01-15 13:00:17 +01:00
Frank Richter
afc2df8705
dbghelp: Split gnu_debuglink handling into own function.
2007-01-12 11:24:06 +01:00
Eric Pouech
c6e8c2aab1
dbghelp: Handling of S_SALIGN symbols.
2007-01-06 11:40:45 +01:00
Eric Pouech
bbef1cbd2d
winedump: Removed cvinclude.h.
2007-01-06 11:40:44 +01:00
Eric Pouech
1b158dd38d
dbghelp: Corrected the map/unmap operations for ELF sections.
...
Now correctly free the mapped areas when no longer used.
2007-01-06 11:40:44 +01:00
Eric Pouech
883732281e
dbghelp: Implemented 64 bit versions of EnumerateLoadedModules.
2007-01-04 11:12:13 +01:00
Andrew Talbot
3af121230b
dbghelp: Qualify use of WINE_DEFAULT_DEBUG_CHANNEL.
2007-01-02 13:21:15 +01:00
Dmitry Timoshkov
e7d620081f
dbghelp: Make some data const.
2006-12-14 20:11:07 +01:00
Eric Pouech
9a41a4e984
dbghelp: Sparse array speed up.
2006-12-11 12:15:34 +01:00
Alexandre Julliard
5feef7e329
dbghelp: Avoid a printf format warning.
2006-12-08 11:39:32 +01:00
Eric Pouech
75033503e8
dbghelp: Added ability to internal store / reload a symbol with a constant value.
...
Let dwarf and msc use this new feature.
As we also add global symbol without addresses, don't take those
constant symbols into account for searches by address.
2006-12-06 11:38:43 +01:00
Eric Pouech
a1a879363d
dbghelp: Added a field to the hash table to store the number of elements in the hash table.
...
Make use of it to get rid to module_compute_num_syms.
2006-12-06 11:37:38 +01:00
Eric Pouech
4806320b48
dbghelp: In find_nearest, now return the symbol instead of its index in module->sorttable.
2006-12-06 11:37:10 +01:00
Eric Pouech
08712bc3a9
dbghelp: Simplify the way we find the debug header.
2006-12-06 11:36:59 +01:00
Thomas Fitzsimmons
4b30ece829
dbghelp: Recognize DT_GNU_HASH.
2006-12-05 11:49:15 +01:00
Eric Pouech
16db2566c6
dbghelp: Fixed value stored for register relative information
...
(regression spotted by Peter Oberndorfer).
2006-12-04 14:02:42 +01:00
Eric Pouech
753055f93f
dbghelp: Now that symbol's value computation depend on instruction
...
pointer value, be sure to always store it (spotted by Peter
Oberndorfer).
2006-12-04 14:02:18 +01:00
Pierre d'Herbemont
c20afad608
dbghelp: Fix elf_load_module params on non elf system to reflect last change to its definition.
2006-12-04 12:19:22 +01:00
Eric Pouech
8e7b2e0fd7
dbghelp: Get rid of long int issues on 64bit platforms.
2006-11-30 13:26:39 +01:00
Eric Pouech
0bee33e195
mscvpdb.h: Update some definitions (constants, structures) with latest information we have.
2006-11-30 12:55:10 +01:00
Eric Pouech
cc65d21f82
dbghelp: Moved mscvpdb.h file to include/wine to allow sharing of the definitions with winedump.
2006-11-30 12:54:54 +01:00
Eric Pouech
3669415dd5
dbghelp: Silence typedefs children in sub program block.
2006-11-27 18:10:24 +01:00
Eric Pouech
0dd7c44669
dbghelp: Removed the alpha status FIXME for the dwarf code.
2006-11-27 17:59:18 +01:00
Eric Pouech
5b61db4161
dbghelp: Correctly store the addresses of blocks.
...
They are stored internally as offsets to the start of the function
which embeds the block.
2006-11-27 17:58:44 +01:00
Eric Pouech
31f4f1b003
dbghelp: Properly handle the void type in some declarations.
2006-11-27 17:58:22 +01:00
Eric Pouech
cfd9013317
dbghelp: We can now remove the default name prefix as all the non conforming cases have been eliminated.
...
Got rid of dwarf2_find_name which is now useless.
2006-11-27 17:58:11 +01:00
Eric Pouech
305621d5cf
dbghelp: Extend support for inlined functions and handle them as generic blocks inside functions
...
(except for parameters which are converted into local variables).
Rewrote dwarf2_find_attribute so that it takes into account the
abstract origin information when available.
A+
2006-11-27 17:57:54 +01:00
Eric Pouech
497b2e4ea5
dbghelp: Be a bit more strict on where we do actually expect default names to be generated
...
(removed this feature for UDTs, structures' fields, enums, typedefs, compilands)
2006-11-27 17:57:21 +01:00
Eric Pouech
96bfe9d056
dbghelp: Add support for a label in a subprogram block.
2006-11-27 17:56:58 +01:00
Eric Pouech
8eef2de3eb
dbghelp: Register numbers in OP_piece don't need to be next to each other.
2006-11-27 17:56:49 +01:00
Eric Pouech
4202a49b75
dbghelp: Add support for deref operation in location computation.
2006-11-27 17:56:36 +01:00
Eric Pouech
e48a46b2b5
dbghelp: Add ability to add a SymTagCustom element to a function.
...
Make use of it to store the frame information for a dwarf function
(either because frame's location is a location list, or because one of
the function's variables is not properly computed at parse time).
2006-11-27 17:56:17 +01:00
Eric Pouech
0d942b3aaa
dbghelp: Function points location is now expressed as a struct location.
2006-11-27 17:55:44 +01:00
Eric Pouech
d812f8b42c
dbghelp: Added infrastructure to compute variable location at runtime (as opposed to debug info parse time).
...
Use it to send the variables depending on not known frame register at parse time.
Made just a stub for the location computation function for dwarf2.
2006-11-27 17:55:17 +01:00
Eric Pouech
20fc25bc55
dbghelp: Use the location info structure thoughout the code to handle the location of a data variable.
2006-11-27 17:54:39 +01:00
Eric Pouech
d5c4e55d36
dbghelp: Added struct location to help computing a location.
...
Make use of it in dwarf.c to handle correctly variable location computation.
Split code to handle both location with parse time computation
(current code) and yet to come run-time computation
2006-11-27 17:54:08 +01:00
Eric Pouech
848f8c41c0
dbghelp: Pass .debug_loc section info from the ELF loader to the dwarf parser.
2006-11-27 17:53:52 +01:00
Eric Pouech
1a723f237c
dbghelp: Store compiland's address in internal structures.
2006-11-27 17:49:50 +01:00