| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Read the compilation unit header byte-by-byte rather than by casting the
data to a structure. Add the currentBaseAddress contextual info to the
compilation unit data.
Move the LOCCursor into readDwarf.cpp. Implement a RangeCursor similar
to the LOCCursor.
Add more debug printing.
|
|
|
|
|
|
|
|
|
|
| |
DWARF5 has more contextual information that is associated with the
compilation unit. As a preparation for using such information, carry it
with the DIECursor and eliminate places where we're passing in the
parent compilation unit.
Also add the RDAddr helper to read a target-address according to the
specification in the compilation unit.
|
|
|
|
|
|
|
|
|
|
|
| |
Encapsulate dwarf-related PE sections into the PESection class. Remove some
unused sections. Add helpers for common section operations.
Move the context set via DIECursor::setContext to be static members of
the class and add a debug context there.
Add a standard method of enabling debug logging across the dwarf and PDB
code.
|
| |
|
|
|
|
|
|
| |
c:file.exe), AV occured.
2. Aligning the debug section offset to the closest 16-byte boundary.
|
| |
|
| |
|
|
|
|
|
| |
This turns a linear lookup into a logarithmic binary search, which
improves a lot DWARF to PDB conversion for big programs.
|
|
|
|
|
|
| |
This isolates the part of the method that gets a type ID for a primitive
type, so that it can be re-used elsewhere, in particular in enum
translation.
|
| |
|
| |
|
|
|
|
|
| |
This also makes room to get the index type information, but this is not
implemented yet.
|
| |
|
|
|
|
|
|
|
| |
* when using mspdb140.dll (VS2015) or later, use symbols to emit line numbers
* translate S_UDT_V1 to V3 version
* translate S_BLOCK_V1 to V3 version
* remove "this" from delegate parameter list if inconsistent with procedure type
|
|
|
|
| |
* remove method declarations from struct or class records (they confuse mspdb*.dll if having forward references?)
|
|
|
|
|
|
| |
prefer struct over class for internal structs
handle class/struct property "uniquename"
mark source language as 'D' for dmd >= 2.072
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
My decodeLocation.
|
|
|
|
| |
DIE tree navigation without requiring DW_AT_sibling attributes, moved navigation logic into DIECursor class.
|
| |
|
|
|
|
| |
* new option -p allows to specify the embedded PDB reference in the binary
* added support for VS2012
|
|
|
|
| |
* supports unicode characters in file names
* improve interpretation of DWARF location expression
|
| |
|
|
|
|
|
|
|
| |
displaying arrays
* added command line switch -e to enable using named enumerator for D basic types
* added DWARF support
* added x64 support
|
|
|
|
|
| |
* added command line switch
* fixed crash with more than 32767 types
|
|
|
|
| |
void
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* thanks to patches by Z3N, the resulting pdb is now usable by more debuggers
* now uses shared file access to executable
* incomplete structs/classes are now added as user defined types to avoid confusing
debugger for following symbols
* fixed name demangling of very long names
* added name demangling support for @safe/@trusted/@property/pure/nothrow/ref
* base classes are added to D/cpp-interfaces to allow viewing the virtual function
table pointer
* structs, classes and interfaces now have an internal qualifier attached that allows
the preview in autoexp.dat to show better info for structs and interfaces
|
|
|
|
|
| |
* now adding properties "has nested type" and "is nested type" to class/struct/union/enum types
* better support for enumerators: now added as user defined types (DMD patch needed)
|
|
|
|
|
|
| |
* adapted to mspdb100.dll which comes with VS2010
* tweaked autoexp.dat modifications to be more stable with uninitialized data
* autoexp.snippet now split into two files
|
| |
|
|
|
|
|
|
|
| |
* basic types now show with their D names, not as C types
* "enum" prefix removed from type names of enumerator types
* added type information for complex data types
* dmd-patch needed for long/ulong support
* experimental hack to add lexical scope to local variables
|
|
|
|
|
| |
* fixed line number info at the end of a segment or when switching to another file because of inline expansion
* fixed line numbers > 32767 and sections with 0 line number entries
|
| |
|
|
|
|
|
|
|
| |
* fixed error in __viewhelper field of string type, that could screw up type info
* added support for wstring and dstring
* fixed problems with debug info inside library by combining debug info of different modules into a single pseudo-module
* now also replaces '.' by '@' in enumerator types for more consistent debug info
|
| |
|
|
|