summaryrefslogtreecommitdiffstats
path: root/src/cv2pdb.h
Commit message (Collapse)AuthorAgeFilesLines
* Add function entries for non-contiguous functionsMarc Aldorasi2022-01-111-1/+1
|
* more pre-DWARF5 refactoring: unit headers, location cursor, range cursorNeeraj Singh2021-12-021-5/+0
| | | | | | | | | | | 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.
* carry contextual information with the DIECursorNeeraj Singh2021-12-021-10/+9
| | | | | | | | | | 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.
* Refactor PE image section handling. Add debug logging.Neeraj Singh2021-12-021-2/+2
| | | | | | | | | | | 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.
* DWARF: fixed converting unnamed structs/unions as part of other structsRainer Schuetze2019-01-251-0/+1
|
* 1. If exe-file consisted of just a disk letter and a file name (i.e. ↵AlexWhiter2018-04-051-0/+1
| | | | | | c:file.exe), AV occured. 2. Aligning the debug section offset to the closest 16-byte boundary.
* RSDS section writing into EXE with symbols in DBG file.AlexWhiter2018-03-301-1/+1
|
* cv2pdb.h: add missing #include <stdint.h> to build with VS 12.0Pierre-Marie de Rodat2018-03-231-0/+2
|
* Reduce complexity of best CFA lookupsPierre-Marie de Rodat2018-03-231-0/+3
| | | | | This turns a linear lookup into a logarithmic binary search, which improves a lot DWARF to PDB conversion for big programs.
* CV2PDB::addDWARFBasicType: split primitive type handling outPierre-Marie de Rodat2018-03-231-0/+1
| | | | | | 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.
* CV2PDB::addDWARFEnum: new, first attempt at enum types translationPierre-Marie de Rodat2018-03-231-0/+1
|
* CV2PDB: keep track of the default lower bound for the curret unitPierre-Marie de Rodat2018-03-231-0/+4
|
* CV2PDB::addDWARFArray: refactor to get lower bound info from DWARFPierre-Marie de Rodat2018-03-231-1/+4
| | | | | This also makes room to get the index type information, but this is not implemented yet.
* CV2PDB: store the current unit's base addressPierre-Marie de Rodat2018-03-211-0/+5
|
* * search VS2017 registry entries to find mspdb140.dllRainer Schuetze2017-09-021-0/+2
| | | | | | | * 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
* * when using mspdb120.dll (VS2013) or later, do not emit view helpersRainer Schuetze2017-06-181-0/+3
| | | | * remove method declarations from struct or class records (they confuse mspdb*.dll if having forward references?)
* add mago support for AA with dmd >= 2.068Rainer Schuetze2017-05-141-4/+5
| | | | | | prefer struct over class for internal structs handle class/struct property "uniquename" mark source language as 'D' for dmd >= 2.072
* add -debug option, some whitespace cleanupRainer Schuetze2015-09-071-0/+1
|
* DWARF: support debug_frame (CFA) and debug_loc (for frame base)Rainer Schuetze2015-06-131-12/+12
|
* - new tool dumplines to display the debug line number infoRainer Schuetze2015-05-081-2/+0
|
* Updated mscvpdb.h with latest from WINE.Vadim Chugunov2014-12-051-1/+2
|
* Redo appendStackVar.Vadim Chugunov2014-12-051-1/+1
|
* Revamped DIE reading.Vadim Chugunov2014-12-051-3/+3
| | | | My decodeLocation.
* Fixed O^n abbrev search.Vadim Chugunov2014-12-051-9/+10
| | | | DIE tree navigation without requiring DW_AT_sibling attributes, moved navigation logic into DIECursor class.
* added support for local variables accessed through espsagitario2014-03-011-1/+1
|
* v0.25sagitario2012-06-181-1/+1
| | | | * new option -p allows to specify the embedded PDB reference in the binary * added support for VS2012
* Version 0.24sagitario2012-05-011-3/+3
| | | | * supports unicode characters in file names * improve interpretation of DWARF location expression
* tabifysagitario2012-03-031-36/+36
|
* * disabled named enumerator for D basic types to avoid debugger troubles ↵sagitario2012-02-121-3/+48
| | | | | | | displaying arrays * added command line switch -e to enable using named enumerator for D basic types * added DWARF support * added x64 support
* * fixed decoding of compressed symbolssagitario2011-05-081-0/+1
| | | | | * added command line switch * fixed crash with more than 32767 types
* now converting only class pointers to references, not pointers to structs or ↵sagitario2010-12-031-0/+1
| | | | void
* Version 0.15sagitario2010-08-081-7/+42
| | | | | | | | | | | | | * 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
* * improved support for 64-integer types sagitario2010-06-231-0/+6
| | | | | * 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)
* Version 0.13sagitario2010-06-041-1/+1
| | | | | | * 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
* (no commit message)sagitario2010-04-131-1/+1
|
* Version 0.11sagitario2009-12-291-0/+8
| | | | | | | * 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
* v0.9:sagitario2009-06-191-0/+9
| | | | | * 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
* v0.7: corrected number of field entries in classes or structssagitario2009-06-081-0/+1
|
* v0.5: sagitario2009-06-061-2/+8
| | | | | | | * 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
* (no commit message)sagitario2009-06-041-0/+2
|
* (no commit message)sagitario2009-05-081-0/+148