Eric Pouech
64144519a0
winedump, dbghelp: In .pdb files (>= VC2005), handle the case where the codeview_linetab2_file structure is not the first one.
2009-11-03 21:20:21 +01:00
Alexandre Julliard
75792a3e69
dbghelp: Grow all arrays by doubling the size.
2009-07-10 14:46:55 +02:00
Eric Pouech
9c54158958
dbghelp: Added reference for MSVC 8.
...
A+
2009-06-29 13:14:04 +02:00
Austin English
28fe3f76c0
dbghelp: Change pointer cast to DWORD_PTR.
2009-02-23 13:14:18 +01:00
Eric Pouech
c83039bd6e
dbghelp: Fix bad call to free() instead of pdb_free().
2009-02-11 12:29:37 +01:00
Michael Stefaniuc
3c3a9b5081
dbghelp: Remove superfluous pointer casts.
2009-01-19 13:36:25 +01:00
Eric Pouech
fe734de8d9
dbghelp: Fix all forward declaration cases for UDT.
2008-11-10 11:59:21 +01:00
Eric Pouech
01e69c71e0
dbghelp: Report in module's info when a module's debug information has been mismatched (dbg and pdb only).
2008-10-20 13:52:16 +02:00
Eric Pouech
9bc74e3ab6
dbghelp: Add support for the newest line number information in pdb files.
2008-10-01 09:51:51 -05:00
Eric Pouech
3dc37cbf94
dbghelp: Rewrote the linetab access so that we don't need to allocate intermediate information.
2008-10-01 09:51:44 -05:00
Eric Pouech
864a60d5ba
dbghelp: Added support for real80 (aka long double) in inner codeview types.
2008-10-01 09:50:35 -05:00
Eric Pouech
1a1be65e8e
dbghelp: Now fully reading the leafs as variant for constants.
...
Also added missing creation for V3 constants.
2008-10-01 09:50:28 -05:00
Eric Pouech
81df3de0fc
dbghelp,winedump: Added support for symbol symbol.
2008-10-01 09:50:02 -05:00
Eric Pouech
028956d1fe
dbghelp,winedump: Added support for symbol 0x113c.
2008-10-01 09:49:54 -05:00
Eric Pouech
82d1845d85
dbghelp,winedump: Added support for 0x113d symbol.
2008-10-01 09:49:45 -05:00
Eric Pouech
1a6e018f0e
dbghelp: Silence symbol 0x1139.
2008-10-01 09:49:32 -05:00
Eric Pouech
cff33cedf5
winedump: Add preliminary dumping of 0x1136 and 0x1137 symbols.
2008-10-01 09:49:24 -05:00
Eric Pouech
076dcc845f
dbghelp,winedump: Added support for symbol 0x1012.
2008-10-01 09:48:32 -05:00
Eric Pouech
ee4aaf7fcd
dbghelp,winedump: Added support for symbol 0x113a.
2008-10-01 09:48:20 -05:00
Andrew Talbot
c9563e10fc
dbghelp: Sign-compare warnings fix.
2008-09-25 11:28:58 +02:00
Eric Pouech
69bbefac5f
dbghelp: While loading MSC debug info, don't handle public symbol at once, but delay their handling after all other symbols are loaded.
...
This allows to handle properly addresses between public and real
symbols. It should also increase drastically the performance of
.dbg/.pdb loading.
2008-09-08 12:47:21 +02:00
Eric Pouech
2f98c59adb
dbghelp: Silence 0x112c symbol type.
2008-09-08 12:47:21 +02:00
Eric Pouech
b5ffe31d22
dbghelp: Fixed offset computation for bitfields inside structures in Codeview debug information.
2008-09-08 12:47:20 +02:00
Eric Pouech
d600115387
dbghelp: Improve the symbol loader.
...
When looking for a PDB file, no longer use SymFindFileInPath as it
doesn't actually check the signatures, but use an internal function
instead.
2008-09-04 13:46:54 +02:00
Eric Pouech
f3c071660d
winedump, dbghelp: Correctly name the age field in PDB headers.
2008-09-02 11:57:04 +02:00
Eric Pouech
5ccf6a3394
dbghelp: Prevent debug overflow of internal buffer while tracing.
2008-05-01 11:13:01 +02:00
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
Rob Shearman
5e1976368a
dbghelp: VARIANT unions are accessed by name in msc.c so define NONAMELESSUNION.
2008-02-21 20:15:59 +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
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
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
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
Michael Stefaniuc
f59c8a688f
dbghelp: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:40 +02:00
Andrew Talbot
dcb298b468
dbghelp: Exclude unused headers.
2007-05-01 11:42:24 +02:00
Alexandre Julliard
9583c1137b
dbghelp: Don't print garbage chars in ERR message.
2007-04-23 15:11:58 +02:00
Andrew Talbot
645d76f889
dbghelp: Constify some variables.
2007-04-19 11:56:30 +02:00
Eric Pouech
f2cfb374a4
dbghelp: Get rid of module_name in all traces (using Unicode flavor).
2007-03-13 21:02:42 +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
2f0ed90c4e
dbghelp: Implemented SymFindFileInPathW.
2007-02-22 12:26:16 +01:00
Eric Pouech
6a859fb0e6
dbghelp: Move PE module loading to Unicode.
2007-02-22 11:41:15 +01:00
Eric Pouech
43dffcd05d
dbghelp: Now storing module information in Unicode form.
2007-02-22 11:39:08 +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
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
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
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
0d942b3aaa
dbghelp: Function points location is now expressed as a struct location.
2006-11-27 17:55:44 +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
1a723f237c
dbghelp: Store compiland's address in internal structures.
2006-11-27 17:49:50 +01:00
James Hawkins
1b95f60938
dbghelp: Remove redundant NULL checks before pdb_free (found by Smatch).
2006-10-06 15:20:35 +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
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
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
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
Michael Stefaniuc
fee72b607a
Yet another round of redundant NULL checks before HeapFree.
2006-06-13 11:40:23 +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
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
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
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
be849decf6
dbghelp: First stab at supporting calling convention in function signature.
2005-12-19 18:22:54 +01:00
Alexandre Julliard
ae964ac801
Take advantage of the __EXCEPT_PAGE_FAULT macro.
2005-12-16 17:17:57 +01: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
Mike McCormack
b5bd4a101a
Fix gcc 4.0 warnings.
2005-09-02 14:47:36 +00:00
Alexandre Julliard
8ee01679dc
Fixed a couple of warnings.
2005-05-18 13:27:24 +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
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
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
Mike Hearn
7acd363973
Change an ERR to a WARN.
2005-02-09 22:21:58 +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
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
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
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
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
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
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