#
c3e066cf |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d054be0d |
|
09-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the data location resolution methods from StackFrameDebugInfo to the respective Type classes. StackFrameDebugInfo is pretty much out of work now, but maybe something comes up later. * Renamed GlobalTypeLookupContext to GlobalTypeCache and renamed its methods. * A TeamDebugInfo does now have a GlobalTypeCache which is used for resolving types. Formerly it was created per stack frame, so all types had to be resolved after each single step. Single-stepping is usably fast again. The disadvantage is that DWARF theoretically allows types properties to depend on instruction/frame/frame base pointer and we don't support that anymore. I can't think of a reasonable application for that feature, though. * Refactored DwarfStackFrameDebugInfo: - Moved the type classes into new DwarfTypes.{h,cpp}. - Moved the creation of types into new class DwarfTypeFactory. - Added class DwarfTypeContext which bundles all the dependencies of the type classes. * Made DwarfFile a BReferenceable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e10cb283 |
|
04-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* ArrayIndexPath::SetTo(): Changed return type from bool to status_t. * Finished support for retrieving and displaying array element values. * Added work-around for pointer types, if the base type isn't specified in the debug info (as it should per specification). * Added support for unspecified types, function types, and pointer to member types. All types relevant for C++ should be supported now. There are still quite a few TODOs, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33434 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e82b4941 |
|
26-Sep-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* ValueLocation: - Changed the bit{Offset,Size} semantics. It's now more or less aligned with the semantics of the respective DWARF DIE attributes. DwarfStackFrameDebugInfo does now correctly translate the ValueLocations returned by the DWARF layer (the bit piece location expression semantics is different for some reason). - ValueLocation is now aware of the target's endianess. The SetTo() method needs that information to correctly meddle with the pieces. - Support normalizing the pieces. * Fixed retrieving the values of bit fields in various places. We still don't handle the bit offset/size attributes of types correctly, but I haven't seen those in actual debug info yet. * Added support for enumerations. The variable view shows the enumerator names, when available. * Added partial support for subrange types. C++ doesn't have those -- we only need them for array dimensions. * Started adding support for array types. Still work in progress. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33314 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
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
|
#
c3e066cf6d35a86d29396d4e740f9811e506b66c |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d054be0d8c41431d611f41171232b0f75ec6f30f |
|
09-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the data location resolution methods from StackFrameDebugInfo to the respective Type classes. StackFrameDebugInfo is pretty much out of work now, but maybe something comes up later. * Renamed GlobalTypeLookupContext to GlobalTypeCache and renamed its methods. * A TeamDebugInfo does now have a GlobalTypeCache which is used for resolving types. Formerly it was created per stack frame, so all types had to be resolved after each single step. Single-stepping is usably fast again. The disadvantage is that DWARF theoretically allows types properties to depend on instruction/frame/frame base pointer and we don't support that anymore. I can't think of a reasonable application for that feature, though. * Refactored DwarfStackFrameDebugInfo: - Moved the type classes into new DwarfTypes.{h,cpp}. - Moved the creation of types into new class DwarfTypeFactory. - Added class DwarfTypeContext which bundles all the dependencies of the type classes. * Made DwarfFile a BReferenceable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e10cb2838bcccb986e830cff4c1569ea26d32641 |
|
04-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* ArrayIndexPath::SetTo(): Changed return type from bool to status_t. * Finished support for retrieving and displaying array element values. * Added work-around for pointer types, if the base type isn't specified in the debug info (as it should per specification). * Added support for unspecified types, function types, and pointer to member types. All types relevant for C++ should be supported now. There are still quite a few TODOs, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33434 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e82b494112f921f214e2ff6604ddfba1e2ef63a9 |
|
26-Sep-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* ValueLocation: - Changed the bit{Offset,Size} semantics. It's now more or less aligned with the semantics of the respective DWARF DIE attributes. DwarfStackFrameDebugInfo does now correctly translate the ValueLocations returned by the DWARF layer (the bit piece location expression semantics is different for some reason). - ValueLocation is now aware of the target's endianess. The SetTo() method needs that information to correctly meddle with the pieces. - Support normalizing the pieces. * Fixed retrieving the values of bit fields in various places. We still don't handle the bit offset/size attributes of types correctly, but I haven't seen those in actual debug info yet. * Added support for enumerations. The variable view shows the enumerator names, when available. * Added partial support for subrange types. C++ doesn't have those -- we only need them for array dimensions. * Started adding support for array types. Still work in progress. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33314 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
|