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
Eric Pouech
4bcca691d1
dbghelp: When looking up for a local variable (or parameter), pass the function pointer.
2006-11-27 17:49:27 +01:00
Eric Pouech
32c96adddd
dbghelp: Added a process field to the modules pair structure.
...
This makes the code simpler to read, a bit more efficient, and
furthermore it'll be needed in future patches.
2006-11-27 17:49:01 +01:00
Eric Pouech
04c7c203fc
dbghelp: Simplify code with function to get section size.
2006-11-27 17:48:44 +01:00
Peter Oberndorfer
a39f3da5fc
dbghelp: Do not write to array element -1.
2006-11-09 10:36:35 +01:00
Peter Oberndorfer
2b06143031
dbghelp: Initialize BOOL elements with FALSE instead of 0.
2006-11-08 15:50:31 +01:00
Peter Oberndorfer
05368de685
dbghelp: Make dwarf2 parser only report file numbers when at least one compilation unit really has numbers.
2006-11-08 15:50:18 +01:00
Peter Oberndorfer
6d0948f7a6
dbghelp: Make dwarf2_parse_line_numbers handle missing line number section.
2006-11-08 15:49:46 +01:00
Peter Oberndorfer
fd2d43f131
dbghelp: Make dwarf2 parser handle file paths relative to working dir better.
2006-11-06 13:47:35 +01:00
Eric Pouech
76e8b504c1
dbghelp: Fixed memory leak in source string handling.
2006-11-06 12:27:01 +01:00
Andrew Talbot
db941dd078
dbghelp: Cast-qual warnings fix.
2006-10-30 11:26:09 +01:00
Andrew Talbot
7da1d6d1ac
dbghelp: Cast-qual warnings fix.
2006-10-30 11:26:02 +01:00
David Anderson
c80f5181ff
dbghelp: Avoid printing too many "What the heck" messages from winedbg.
2006-10-26 13:04:52 +02:00
Andrew Talbot
4c4d4386ed
dbghelp: Cast-qual warnings fix.
2006-10-19 13:35:33 +02:00
James Hawkins
1b95f60938
dbghelp: Remove redundant NULL checks before pdb_free (found by Smatch).
2006-10-06 15:20:35 +02:00
Michael Stefaniuc
85ce5117c5
Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int.
2006-09-29 16:08:30 +02:00
Eric Pouech
7c92e801aa
dbghelp: Added support for a couple of compiland's children.
2006-09-26 11:53:53 +02:00
Eric Pouech
baf8dfd8c8
dbghelp: Fix location computation when attribute has a constant form instead of a block form.
2006-09-26 11:53:40 +02:00
Eric Pouech
4432a1fa91
dbghelp: Change the definition of an attribute so that we can pass around the form.
2006-09-26 11:51:57 +02:00
Eric Pouech
f8e06dd613
dbghelp: Move the attribute union (now nameless) into a structure called attribute.
2006-09-26 11:49:36 +02:00
Eric Pouech
fa7332fd27
dbghelp: Added support for DW_OP_breg* operations in location computation.
2006-09-26 11:48:56 +02:00
Eric Pouech
6c4c64265d
dbghelp: Variables & registers.
...
- more strickling differentiation variable location between
a register, and the dereferenced address defined by a
register (and possibly an offset)
- added a parameter to symt_add_func_local (and internal symbol
data struct) to help differentiate
- fix all debug parsers to confer to this new scheme
2006-09-26 11:48:39 +02:00
Alexandre Julliard
32ab895e46
makefiles: Generate the dependencies line to avoid some code duplication.
2006-09-14 09:38:16 +02:00
Andrew Talbot
2f8c51f547
dbghelp: Cast-qual warnings fix.
2006-09-08 16:07:43 +02:00
Eric Pouech
b039c3abd4
dbghelp: Removed stabs dump facility now that we have it (for PE files) in winedump.
2006-08-28 11:44:50 +02:00
Eric Pouech
83c30a55b8
dbghelp: Made stabs parsing a bit more robust.
...
Enhance dbghelp's robustness against bogus stabs sections found in
meetro.exe (as reported by Jan Zerebecki).
2006-08-09 23:08:00 +02:00
Eric Pouech
5f4ac24991
dbghelp: Missing bits from previous patch about variables with constant values.
2006-08-07 15:04:16 +02:00
Eric Pouech
820acf0901
dbghelp: Properly handle variable with const value (ie without location) in dwarf code.
2006-08-03 20:17:35 +02:00
Robert Shearman
5c8b22f385
dbghelp: Implement SymGetSymFromAddr64.
2006-07-26 10:23:19 +02:00
Robert Shearman
f57ddeb9db
dbghelp: Don't access a negative section index in elf_map_section.
2006-07-17 14:49:05 +02:00
Robert Shearman
f9053b91bf
dbghelp: Avoid accessing a negative string index when parsing stabs entries with an empty string.
2006-07-17 14:49:05 +02:00
Robert Shearman
7084f14073
dbghelp: Fix the finding of PDB DS-type files.
2006-07-13 16:25:29 +02:00
Alexandre Julliard
5258e061dc
make_dlls: Ignore generated import libraries from the top-level .gitignore.
2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6
Take advantage of the recursive nature of .gitignore for Makefile entries.
...
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
William Knop
289a068b4f
dbghelp: Fix for non-elf build (undefined symbol: _elf_is_in_thunk_area).
2006-06-27 21:14:02 +02:00
Eric Pouech
1a5f7f5926
dbghelp: Implemented SymEnumerateModules64.
2006-06-27 11:17:54 +02:00
Eric Pouech
e4441d7e6f
dbghelp: Module info.
...
- now internally storing module info as a 64bit module structure
(the interest in not in the 64 bit side of things, but because
it allows storing lots of usefull information)
- fixed SymGetModuleInfo64W which wasn't returning the
LoadedPdbName field
- now filling for MSC files with the extended information
(instead of guessing it)
- reused the extended module info to store wine ELF module
information (link for map link, stabs vs dwarf symbol info)
2006-06-27 11:17:34 +02:00
Eric Pouech
e9910fee66
dbghelp: Dwarf & thunks.
...
- added the elf_is_in_thunk_area() function to locate an address
within the known thunk area of Wine's builtin modules
- now passing this thunk information to the dwarf parser so that it
can drop functions from the thunk areas (as dwarf symbols), so that
those functions can be later on marked as thunks in dbghelp
internals
2006-06-26 13:38:03 +02:00
Eric Pouech
f939b0853d
dbghelp: Elf for wine and spec definitions.
...
Enhancement over previous fix (we don't need to insert NOTYPE symbols
in our public symbol table, so drop them as early as possible).
2006-06-26 13:38:02 +02:00
Eric Pouech
41ee9853f7
dbghelp: Elf for wine and spec definitions.
...
- fixed regression when looking for winebuild's special symbols in ELF symtab
- STT_NOTYPE is still accepted as a valid symbol type (on top of STT_FUNC and STT_OBJECT)
2006-06-22 12:29:03 +02:00
Eric Pouech
797acdf436
dbghelp: dwarf: Tidy up leb128 reading.
2006-06-20 11:58:48 +02:00
Eric Pouech
54d6f8cc45
dbghelp: Indent the code as the rest of dbghelp module.
2006-06-20 11:58:24 +02:00
Eric Pouech
cca3d1ad0c
dbghelp: Support multiple debug formats.
...
When several debug formats (eg stabs & dwarf2) exist in the same
module, allow to load them all (this is needed when different
compilation units are compiled with different debug options).
2006-06-20 11:57:42 +02:00
Eric Pouech
8a92d9ae49
dbghelp: dwarf: Generate the current source file and store it in dbghelp's internals.
2006-06-20 11:57:12 +02:00
Eric Pouech
7af4097d80
dbghelp: Added the ability to define a source file by dir+filename instead of only filename.
2006-06-20 11:54:40 +02:00
Eric Pouech
52db5c094e
dbghelp: dwarf: Started parsing the attributes for lines (in compilation unit).
...
Walking the whole lot, not doing anything interesting apart from
traversing the data.
2006-06-20 11:54:17 +02:00
Eric Pouech
a655b14340
dbghelp: Pass .debug_loc section information to dwarf.
2006-06-20 11:52:29 +02:00
Eric Pouech
d6bd8661ff
dbghelp: Dwarf & parse context.
...
- split the data structures for walking through the data (abbrev,
cu... -> traverse_ctx) and data manipulation/loading (-> parse_ctx)
- created dwarf2_parse_compilation_unit() for clarity
- added section structure to gather information about all ELF sections
related to all dwarf2 sections (more to come)
2006-06-20 11:52:01 +02:00
Eric Pouech
298198c318
dbghelp: Dwarf & udt members.
...
- correctly set size & offsets for regular udt members
- first shot at bitfields for udt members
2006-06-20 11:51:34 +02:00
Eric Pouech
a2b4432107
dbghelp: Dwarf & function blocks.
...
- properly handling function blocks
- handling of variables inside of blocks (either on stack, or in a
register, or relative to the frame register if any)
- added dwarf2_subprogram_t structure so that we can pass around
relevant information for function parsing
2006-06-20 11:51:16 +02:00
Eric Pouech
7476f8c840
dbghelp: dwarf: Properly handle function formal parameters.
2006-06-20 11:50:39 +02:00
Eric Pouech
cff41cf9f2
dbghelp: Storage of func locals & parameters.
...
- added the ability to tell to add_func_local whether we're adding
a local variable or a parameter (and removed the black magic
we were using)
- we can now address variables defined as an offset to a register
2006-06-20 11:47:38 +02:00
Eric Pouech
df179e9bf1
dbghelp: Dwarf & global symbols.
...
Offset the addresses for global symbols (func & variables) by the base
image of the corresponding module.
2006-06-20 11:47:16 +02:00
Eric Pouech
686237e043
dbghelp: dwarf: Added support for function labels.
2006-06-20 11:46:51 +02:00
Eric Pouech
6cee154b23
dbghelp: Proper support for nested types definitions (even in C).
2006-06-20 11:46:18 +02:00
Eric Pouech
468956f4cd
dbghelp: Dwarf - function scheme.
...
- various fixes to follow better the functions definition (nesting,
subroutines...)
- don't directly parse types referenced by a subprogram, they'll be
loaded anyway when needed
2006-06-20 11:45:48 +02:00
Eric Pouech
ae67326863
dbghelp: Dwarf & locations.
...
- put back the block attribute parsing
- added dwarf2_compute_location to properly decode a location (at
least starting it)
2006-06-20 11:45:33 +02:00
Eric Pouech
6d61cc0c7b
dbghelp: Dwarf compiland.
...
- rewrote all entities loading to make use of new dwarf2_debug_info_t scheme
- commented out the location parsing which is an ugly hack
2006-06-20 11:43:17 +02:00
Eric Pouech
ec8328d1b1
dbghelp: Dwarf & new scheme.
...
- add some helpers for the rewrite
- module is now part of the dwarf2_parse_context
2006-06-20 11:42:45 +02:00
Eric Pouech
2301d1a3d0
dbghelp: Dwarf & type references.
...
Removed unused type references scheme that we'll implement using a
different scheme in next patches.
2006-06-20 11:41:55 +02:00
Eric Pouech
3bd7d2976e
dbghelp: Dwarf merge parsing of UDT.
...
Merge into a single function the struct/class/union parsing.
2006-06-20 11:41:36 +02:00
Eric Pouech
c571b8506e
dbghelp: Dwarf & debug info entries.
...
- now loading the debug info entries into specific structures
- this will help writing new functions
- this will allow handling of forward references
2006-06-20 11:41:15 +02:00
Eric Pouech
b51cd5750f
dbghelp: Dwarf abbrev table is now a sparse array.
...
- added a pool for memory allocation when parsing a compilation unit
- now using the brand new sparse array for the abbrev table
2006-06-20 11:40:55 +02:00
Eric Pouech
ad02173d21
dbghelp: Added another basic type for storage: the sparse array.
2006-06-20 11:40:32 +02:00
Eric Pouech
b319600130
dbghelp: Transform a few TRACEs into WARNs (especially for unhandled stuff).
2006-06-20 11:39:58 +02:00
Eric Pouech
474c5cc2a5
dbghelp: Remove the unneeded level attribute while parsing.
2006-06-20 11:39:33 +02:00
Eric Pouech
57c662f4d1
dbghelp: Moved all Dwarf standard definitions into dwarf.h file.
2006-06-20 11:38:49 +02:00
Eric Pouech
00cf2da5d6
dbghelp: Dwarf & typedefs.
...
- removed lookup for name for the const modifier
- hard wire dwarf-reference to our pointer types
2006-06-20 11:37:50 +02:00
Eric Pouech
d396ec31f9
dbghelp: Dwarf & module's symtype.
...
- we should set the module's symtype upon success
- removed unneeded bRet variable
2006-06-20 11:37:28 +02:00
Eric Pouech
24743774e8
dbghelp: Dwarf2 & AT_byte_size.
...
- AT_byte_size can be larger than a single byte (especially for enums)
- added missing enumeration type parsing
2006-06-20 11:37:14 +02:00
Jeremy White
466d3fe8e5
dbghelp: Fix a Solaris compilation error.
2006-06-19 22:38:20 +02:00
Ge van Geldorp
5f299d6fe5
dbghelp: Fix compilation for x86_64.
2006-06-19 21:23:05 +02:00
Michael Stefaniuc
fee72b607a
Yet another round of redundant NULL checks before HeapFree.
2006-06-13 11:40:23 +02:00
Pierre d'Herbemont
deab874424
dbghelp: Implement fetch_thread_info on powerpc.
2006-06-09 21:08:26 +02:00
Andrew Talbot
8527f91043
dbghelp: Write-strings warning fix.
2006-06-07 15:23:55 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Eric Pouech
a5b1581e48
dbghelp: SymFindFileInPath and PDB
...
- implemented correct lookup when SymFindFileInPath is called to find
a PDB file
- added pdb_fetch_file_info to gather relevant information
- when looking for a PDB file (from a .EXE or a .DLL), now using
SymFindFileInPath to locate the PDB file with the correct
information
2006-05-11 12:20:12 +02:00
Eric Pouech
2a1d8efde4
dbghelp: Removed call to registered callback when unloading a module.
...
First, native dbghelp doesn't do it, and it crashed windbg, likely
because we got the undocumented arguments wrong.
2006-05-11 12:19:24 +02:00
Eric Pouech
c25d3ac7d5
dbghelp: Implemented SymSearchW.
2006-05-11 12:18:46 +02:00
Eric Pouech
208e701a7b
dbghelp: Implemented SymEnumSymbolsW.
2006-05-11 12:18:30 +02:00
Eric Pouech
96efcbc47b
dbghelp: Improved SymSearch (now using tag, index and address).
2006-05-11 12:18:06 +02:00
Eric Pouech
5eb1c98853
dbghelp: Factorize and simplify a bit symbol enumeration code.
2006-05-11 12:17:47 +02:00
Eric Pouech
08ba9cecff
dbghelp: Stubbed SymGetSourceFileTokenW.
2006-05-11 12:17:23 +02:00
Eric Pouech
55f8a1b8fb
dbghelp: Implemented SymGetLineFromAddrW64.
2006-05-11 12:17:03 +02:00
Eric Pouech
7d4194f57b
dbghelp: Implemented SymFromAddrW.
2006-05-11 12:16:24 +02:00
Eric Pouech
d2d85a1b46
dbghelp: Implemented SymGetModuleInfoW and SymGetModuleInfoW64.
2006-05-11 12:16:01 +02:00
Eric Pouech
922a7bd191
dbghelp: Implemented SymLoadModuleExW.
2006-05-11 12:15:21 +02:00
Eric Pouech
4a80e63a29
dbghelp: Implemented SymRegisterCallbackW64 and 64 -> 64W mapping function.
2006-05-11 12:14:51 +02:00
Eric Pouech
2e7d3c386a
dbghelp: SymInitializeW.
...
- implemented SymInitializeW (and made SymInitialize call it)
- implemented Sym{SG}etSearchPathW (and made Sym{SG}etSearchPath
call them)
- per process search path is now stored as unicode string
2006-05-11 12:14:06 +02:00
Eric Pouech
572e18ef39
dbghelp: Updated spec file.
2006-05-11 12:13:50 +02:00
Eric Pouech
645134397b
dbghelp: Stub for SymGetSourceFileToken.
2006-05-08 14:48:10 +02:00
Eric Pouech
a49adbc49e
dbghelp: Base and symbols.
...
- report the correct image base for a symbol which is
seen as being in a builtin PE module, whilst its debug
information is gotten from an ELF module
- module_get_debug now returns a pair of modules
(the requested that has to be presented back to the client
and the effective one, which contains the debug info)
- reworked SymFromName in order to provide also the revelant
module base address
2006-05-08 14:47:56 +02:00
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
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