History log of /haiku/src/kits/debugger/dwarf/DebugInfoEntries.h
Revision Date Author Comments
# 57893202 07-Aug-2018 Rene Gollent <rene@gollent.com>

Debugger: Fix #14321.

DIESubprogram:
- Adjust to inherit from DIENamespace, as gcc can and will use it as a
container in some circumstances.

DIEClassBaseType:
- Add accessor for member functions.

DwarfImageDebugInfo:
- Adjust recursive walking for types to take into account any DIENamespace,
not just DW_TAG_namespace specifically.
- Factor out adding function to list into a helper.
- When retrieving the list of functions, perform a similar recursive walk as is
done when building the types table, as some subprograms are apparently not
always added to the root compilation unit entry. Curiously, this behavior
seems to be relatively specific to a struct/class type declared inside a
function in GCC's case, but based on the DWARF spec, there does not appear to
be any specific restriction as far as where these can be nested, so be a bit
more paranoid to ensure we don't encounter similar cases in the future.


# ac9e464b 12-Jan-2018 Rene Gollent <rene@gollent.com>

Debugger: Fix various issues in the DWARF subsystem.

AttributeClasses:
- Fix typo in get_attribute_name_classes which resulted in us not
handling DW_AT_linkage_name properly.
- Fix incorrect class specification for DW_AT_default_value due
to inconsistencies in the DWARF documentation (the table of attribute
classes indicates it is only a reference, but the detailed description
indicates it also being possible to be a flag or constant, both of
which gcc outputs).

DebugInfoEntries:
- Add accessor for DIEClassBaseType's inner types.

DwarfImageDebugInfo:
- When looking up types, create a basic target interface to pass on
to the type context. Otherwise, type lookups that required DWARF
expression evaluation would crash.
- When building the type name table, we now recursively walk a class's
inner types, and add them to the list as well. This omission would
cause the debugger to lack the type description for such classes,
and consequently be unable to display their details in the variables
view.


# fce4895d 29-May-2016 Rene Gollent <rene@gollent.com>

Debugger: Split into core library and application.

- Add subfolder src/kits/debugger which contains the debugger's core
functionality and lower layers. Correspondingly add headers/private/debugger
for shared headers to be used by clients such as the Debugger application
and eventual remote_debug_server. Adjust various files to account for
differences as a result of the split and moves.
- Add libdebugger.so to minimal Jamfile.