History log of /haiku-fatelf/src/apps/debugger/dwarf/DebugInfoEntry.h
Revision Date Author Comments
# 6e72ebfc 20-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* More work on retrieving local variable values. Address and compound types can
now be inspected. Still work in progress -- bit fields and arrays don't work
correctly yet nor does type lookup beyond the current compilation unit.
* Made most of the debugger output configurable via a config header. By default
it's much less noisy now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33217 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d24e0386 15-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added LocationDescription class.
* Handle DW_AT_location attributes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31591 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 106c4d40 13-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of dwarf_{addr,off,size}_t. Consequently use 64 bit types instead.
* Made the DWARF code fully 64 bit aware (hopefully).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31546 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c5056cd8 09-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* DebugInfoEntry: Allow access to the individual declaration location
attributes returning for each whether it was set on the entry.
* DwarfUtils::GetDeclarationLocation(): Entries can just override individual
declaration location attributes. E.g. for a specification entry file, line,
and column can be given, while the entry for the implementation could just
override the line, if it is implemented in the same file (like inline methods
in a header).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31493 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91c6759f 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added parsing the .debug_line header for each compilation unit and attaching
the include directory and source file names to CompilationUnit.
* Added DwarfUtils::GetDeclarationLocation() which retrieves the respective
source file name and line/column index for a given DIE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31325 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b60969c 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed ArchitectureTypes.h to Types.h.
* Created "types" subdirectory for basic types and moved Types.h,
SourceLocation, TargetAddressRange there.
* Added TargetAddressRangeList, representing a list of address ranges.
* Array: Added copy constructor and assignment operator.
* Added DwarfFunctionDebugInfo.
* ElfFile: Also read the program headers and provide access to the segment
information.
* DWARF:
- Some work on DIECompileUnitBase and DIESubprogram to handle attributes we
need.
- Added DwarfUtils class which provides static utility methods. Currently some
to get DIE names. Only provisionally implemented yet.
- Read range list attribute values from the .debug_ranges section. Extended
AttributeValue to handle them correctly (ref-counting).
* DwarfImageDebugInfo:
- Implemented GetFunctions() for real, i.e. we return functions for all
subprogram debug info entries we find (those that refer to actual
functions, that is).
- Implemented the fallback part of LoadSourceCode() (reading the code from the
file and disassembling it).

Things should hopefully work as before, just a bit slower and with less accurate
function names, if DWARF debug info is available. Promising, eh? ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a7112b3 27-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renaming and coding moving.
* Added locking to DwarfManager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31279 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e8ec48b 15-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved dwarf related code into dwarf/ subdirectory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31064 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e72ebfce3cb4969f9b27b4210d7631ba16948fa 20-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* More work on retrieving local variable values. Address and compound types can
now be inspected. Still work in progress -- bit fields and arrays don't work
correctly yet nor does type lookup beyond the current compilation unit.
* Made most of the debugger output configurable via a config header. By default
it's much less noisy now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33217 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d24e0386a3d6cc15762f57093870857e5ae3b733 15-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added LocationDescription class.
* Handle DW_AT_location attributes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31591 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 106c4d40208b9cddbc35e7492857e76cbb7f4460 13-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of dwarf_{addr,off,size}_t. Consequently use 64 bit types instead.
* Made the DWARF code fully 64 bit aware (hopefully).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31546 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c5056cd86da7fa27ec5b67b5501957d2b30bd3d1 09-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* DebugInfoEntry: Allow access to the individual declaration location
attributes returning for each whether it was set on the entry.
* DwarfUtils::GetDeclarationLocation(): Entries can just override individual
declaration location attributes. E.g. for a specification entry file, line,
and column can be given, while the entry for the implementation could just
override the line, if it is implemented in the same file (like inline methods
in a header).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31493 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91c6759f30951d992778f67e76836d6a1cf52fe7 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added parsing the .debug_line header for each compilation unit and attaching
the include directory and source file names to CompilationUnit.
* Added DwarfUtils::GetDeclarationLocation() which retrieves the respective
source file name and line/column index for a given DIE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31325 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b60969c5cd42c27295bb89746ef6882c0559a7a 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed ArchitectureTypes.h to Types.h.
* Created "types" subdirectory for basic types and moved Types.h,
SourceLocation, TargetAddressRange there.
* Added TargetAddressRangeList, representing a list of address ranges.
* Array: Added copy constructor and assignment operator.
* Added DwarfFunctionDebugInfo.
* ElfFile: Also read the program headers and provide access to the segment
information.
* DWARF:
- Some work on DIECompileUnitBase and DIESubprogram to handle attributes we
need.
- Added DwarfUtils class which provides static utility methods. Currently some
to get DIE names. Only provisionally implemented yet.
- Read range list attribute values from the .debug_ranges section. Extended
AttributeValue to handle them correctly (ref-counting).
* DwarfImageDebugInfo:
- Implemented GetFunctions() for real, i.e. we return functions for all
subprogram debug info entries we find (those that refer to actual
functions, that is).
- Implemented the fallback part of LoadSourceCode() (reading the code from the
file and disassembling it).

Things should hopefully work as before, just a bit slower and with less accurate
function names, if DWARF debug info is available. Promising, eh? ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a7112b32d3c8f51a0e89ef2fc9d20a6a4c04159 27-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renaming and coding moving.
* Added locking to DwarfManager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31279 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e8ec48b308eb221da728d5adad2fe6ff7e45f7c 15-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved dwarf related code into dwarf/ subdirectory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31064 a95241bf-73f2-0310-859d-f6bbb57e9c96