125 Commits

Author SHA1 Message Date
Rene Gollent
000dfcbcf3 Draw the selection highlight. Still has some issues when shrinking the selection region, but will deal with that after work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 13:05:10 +00:00
Rene Gollent
366f83ad41 Add partially functional mouse selection support. Doesn't yet draw the selection highlight or handle scrolling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 00:19:26 +00:00
Rene Gollent
c4ee57cfe2 Make source view navigable and scrollable via the usual keyboard shortcuts. Still lots to do including drawing a focus highlight and text selection/copying via keyboard and/or mouse.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-12 20:29:18 +00:00
Ingo Weinhold
37e2eea0d8 Remove duplicates in the function list view.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-11 00:15:39 +00:00
Ingo Weinhold
18ca318a3d * Since disassembled code is actually function instance specific,
FunctionInstance does now also have a (DisassembledCode) source code
  attribute. Function keeps its attribute, but it explicitly is a
  FileSourceCode now.
* SourceCode:
  - Removed GetStatementAtLocation(). Instead DisassembledCode has a
    StatementAtLocation() now. As well as a StatementAtAddress() and
    StatementAddressRange(). Rather cast to the subclass (in two instances)
    instead of having those methods in the base class. In most cases we already
    have the subclasses now, anyway.
  - Added Lock()/Unlock(), which are implemented in FileSourceCode. The
    statement ranges are no longer immutable, so we have to lock.
* TeamDebugModel:
  - Revived GetBreakpointsInAddressRange().
  - GetBreakpointsForSourceCode(): Optimized for DisassembledCode and fixed
    in the FileSourceCode case. We need to compare with the functions' source
    file instead of their source code, since they might not have the source
    code set yet. Fixed two instances of the same problem in SourceView. Setting
    breakpoints in functions that have no associated source code yet, works now.
* Team:
  - GetStatementAtAddress(): Optimized by using the DisassembledCode, if
    available.
  - GetStatementAtSourceLocation(): If the supplied source code is
    DisassembledCode, we have to get the statement from it directly, since
    we can't get that information from the image debug info.
* TeamDebugInfo: Added LoadSourceCode() and DisassembleFunction(), the new way
  to get FileSourceCode respectively DisassembledCode. SpecificTeamDebugInfo
  has lost LoadSourceCode() and gained service methods AddSourceCodeInfo() and
  ReadCode(). This avoids unnecessary code duplication in the subclasses.
  Moreover it allows for joining source location info source files from
  different images (and compilation units) -- interesting for inline functions
  in headers.
* Adjusted LoadSourceCodeJob and TeamDebugger::FunctionSourceCodeRequested()
  accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-11 00:05:26 +00:00
Rene Gollent
b644566e31 Don't append the demangled function name twice. This fixes symbols incorrectly being shown doubled when DWARF info was unavailable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 03:27:19 +00:00
Ingo Weinhold
a4b0c19209 * Finished the transformation of the SourceCode interface:
- Replaced StatementAtLine() by GetStatementLocationRange(), which doesn't
    return a statement (i.e. also target addresses), but just a range in the
    source code. This can also be implemented by FileSourceCode, which can
    therefore be used for more than one instance of a function.
  - Added GetStatementAtLocation() which kind of is also a replacement for
    StatementAtLine(), but is optional and only provided by
    DisassembledSourceCode.
  - Added GetSourceFile(), which has to be provided when
    GetStatementAtLocation() is not implemented.
  - Kicked the statement stuff out of FileSourceCode. It only knows source
    ranges, now.
* Team: Added GetStatementAtSourceLocation(), which is the real replacement for
  SourceCode::StatementAtLine() in cases where a statement is actually
  needed. It uses SourceCode::GetStatementAtLocation(), if available and
  otherwise finds a function at the source location, and gets a statement for
  one of its instances.
* TeamDebugInfo: Does now manage a source file -> functions map allowing to
  look up functions at source file locations.
* DwarfImageDebugInfo:
  - Switched the path in the source code hash table key for a LocatableFile,
    which is cheaper to hash and to compare.
  - Fixed bugs where the relocation delta was ignored.
  - Replace a -1 in the SourceLocation column component by 0 to avoid
    mismatches.
* SourceLocation: Changed component types from uint32 to int32. Otherwise -1 is
  not representable.

Things mostly work as before starting the refactoring to support function
instances. All is not well yet, though. E.g. we don't merge the source code
information for common source files (like headers) provided by different
compilation units (or even images) yet. We need to do that, since the debug
info for a compilation unit only contains line number information for inline
functions (in headers) that are actually used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 00:08:45 +00:00
Ingo Weinhold
7d095b893a Incorrect check -- user-defined breakpoints would be ignored.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 23:34:34 +00:00
Ingo Weinhold
c5056cd86d * 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
2009-07-09 23:33:32 +00:00
Ingo Weinhold
2e064580d6 Fixed broken Insert().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 23:27:21 +00:00
Ingo Weinhold
4d12369dce Use unsafe character access to avoid a gcc 4 warning. We check the range
ourselves anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-08 21:55:12 +00:00
Ingo Weinhold
f66bd6256a Very much work in progress, not in a particularly working state. Haiku munged
a good part of the source tree, so I rather get those changes into the
repository before continuing.
The general aim of the work is to deal with multiple instances of the same
function, e.g. inlined or non-inlined inline functions or those weird duplicates
gcc (4 at least) seems to be generating for no apparent reason.
* Added classes FunctionInstance (wrapping FunctionDebugInfo) and Function.
  FunctionInstance represents a physical instance of a function (e.g. inlined
  function at a particular address). A Function collects all FunctionInstances
  referring to the same source code location.
* Moved the SourceCode property from FunctionDebugInfo to Function accordingly.
* Since SourceCode is no longer associated with a concrete function instance,
  several methods dealing with statements have been removed and the
  functionality has been provided through other means (e.g. TeamDebugModel or
  SpecificImageDebugModel). This part is not yet completed.
* Introduced UserBreakpoint and UserBreakpointInstance. The user sets a
  breakpoint at a source code location, which is represented by a
  UserBreakpoint. Since that source location can be mapped to one address per
  instance of the respective function, UserBreakpoint has a
  UserBreakpointInstance per such function instance, which in turn refers to a
  Breakpoint (an actual breakpoint at an address).
* Adjusted Breakpoint, BreakpointManager, and TeamDebugger accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 20:47:39 +00:00
Oliver Tappe
16d5c24e53 * merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 10:30:09 +00:00
Ingo Weinhold
cc13762f11 Don't skip subprogram entries that have an abstract origin. Only do so, when
the function is actually inlined, which we already checked for anyway. Now the
source location info should be retrieved correctly for all functions, even if
if we get potential duplicates for non-inlined functions. This has to be
dealt with differently, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 21:09:29 +00:00
Ingo Weinhold
bc01feab3d * Get*DIEName(): Also follow abstract origins to get the name.
* GetDeclarationLocation():
  - Don't fail already when the entry itself doesn't support a declaration
    location, since that fails for inlined functions.
  - Follow abstract origin and specification, even if they don't have a have
    a declaration location. The latter doesn't matter in this case, but we
    failed erroneously, if the abstract origin had a specification which in
    turn had the declaration location info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 21:04:46 +00:00
Ingo Weinhold
15857c22d5 DIEClassBaseType: Also handle inner types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 20:58:02 +00:00
Ingo Weinhold
a61e0d36a0 Apparently the file names in the .debug_line section can be relative paths, not
only file names. Changed the FileManager::Get*File() method versions taking
directory path and file name to also accept relative file paths. They just join
the paths and use the single-argument versions, which now does all the work.
Fixes finding source files for which a relative path is given in .debug_line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 14:46:10 +00:00
Ingo Weinhold
d9b10dea3b * Extended ImageInfo and Image so they know the image type.
* Added DebuggerInterface::GetSymbolInfo().
* Implementing stopping the thread in main() when the debugger started the
  debugged program.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 14:23:19 +00:00
Ingo Weinhold
e59fc195db * ThreadListView:
- Got rid of superfluous SetTeam().
  - Aded SetThread() to select a thread.
* TeamWindow: When a thread hits a debug event and no thread is selected or
  the selected thread is running, select the stopped thread and switch to the
  "Threads" tab view.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 12:25:09 +00:00
Ingo Weinhold
8a07918f6d Work-around for gcc 2 output. It can produce DW_AT_sibling attributes
pointing to the end of the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 10:03:27 +00:00
Ingo Weinhold
c93db3c16a Don't require the .debug_str section. It's only needed for DW_FORM_strp
attributes, but apparently those aren't generated by gcc 2.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 09:41:37 +00:00
Ingo Weinhold
b619e1873c Changed the line and column parameter of DwarfUtils::GetDeclarationLocation()
to int32&. The DWARF indices are one-based with 0 as invalid/no value, but we
subtract one to get real indices and -1 as special value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 09:39:42 +00:00
Axel Dörfler
3dc97aa3fb * Fixed GCC2 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 08:56:59 +00:00
Ingo Weinhold
593fa6776a * DWARF:
- DwarfUtils::GetDeclarationLocation(): Line/column numbers are one-based.
  - Added line number program interpretation (LineNumberProgram).
* FunctionDebugInfo: Return the source file (LocatableFile) instead of the
  file name.
* FileManager/LocatableEntry: Fixed handling when a LocatableEntry is
  unreferenced. There was a race condition before, since an unreferenced entry
  could be referenced and unreferenced again before removing it from the hash
  table, which could lead to double deletion. Now we never reuse an unreferenced
  entry and just remove it from the hash table when encountering one.
* FileManager/SourceFile: Added class SourceFile which loads a source file from
  disk and slices it into lines. Managed by FileManager.
* Added class FileSourceCode, a SourceCode implementation using a SourceFile as
  line provider. The statement management works pretty much exactly as in
  DissassembledCode.
* DwarfImageDebugInfo: Implemented LoadSourceCode for real. It creates a
  FileSourceCode and uses the DWARF line number information for the statement
  information. This basically gets the source level view going, though there
  are still several problems -- stepping doesn't work perfectly yet, the source
  isn't found for all functions, there's no handling of duplicate functions (no
  idea why gcc generates them in the first place), etc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 00:56:39 +00:00
Ingo Weinhold
92194962f6 Display tabs correctly (hardcoded as 4 spaces ATM).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 00:34:48 +00:00
Ingo Weinhold
64af5c7164 Scroll to the active function, when selected manually.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 00:33:36 +00:00
Ingo Weinhold
3c5dbb462d * Moved Array.h to new directory "types".
* Added StringUtils with string hash functions.
* Added Locatable{Entry,File,Directory} and FileManager classes to manage the
  mapping from debug info/target file names to local file names.
* Image does now have a LocatableFile referring to the image's shared object
  file. Added listening to location changes of these files to TeamDebugger. No
  action is taken yet (should trigger reloading the debug info).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 22:09:33 +00:00
Ingo Weinhold
7413cddee6 Add the compilation unit's compilation dir to the directories for the
compilation unit. It can be referenced by the file entries in the line info
header, too (index 0).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 14:35:00 +00:00
Ingo Weinhold
d68a0c6f4f Added DIECompileUnitBase::CompilationDir() getter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 14:33:07 +00:00
Ingo Weinhold
df9cc7340c Retrieve the source file declaration locations for functions and attach them
to the DwarfFunctionDebugInfo objects. The functions do now appear organized
by source file in the function list view. Unfortunately the list view is too
small to look as clear as it should. Got to think of something else I'm afraid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:57:41 +00:00
Ingo Weinhold
91c6759f30 * 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
2009-06-30 12:48:46 +00:00
Ingo Weinhold
ebf36c3bec ImageFunctionsView::FunctionsTableModel:
* Fixed typo in SetImageDebugInfo() setting the wrong source file function
  start indices.
* Fixed incorrect return values in _CompareSourceFileNames().
* Fixed several instances of ignoring the source file's function start index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:41:02 +00:00
Ingo Weinhold
5b60969c5c * 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
2009-06-29 22:38:15 +00:00
Rene Gollent
55e74cf261 Fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 02:10:43 +00:00
Ingo Weinhold
b5713f228a Added DwarfTeamDebugInfo and DwarfImageDebugInfo, the classes to interface with
the DWARF code. Not doing much yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:40:32 +00:00
Ingo Weinhold
bf4603576b Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:38:48 +00:00
Ingo Weinhold
7c3612f47d * Manage CompilationUnits in a BObjectList instead of a DoublyLinkedList for
nicer access.
* A CompilationUnit does now know its debug info entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:38:17 +00:00
Ingo Weinhold
096f057d08 LoadFile() returns the loaded file, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:36:50 +00:00
Ingo Weinhold
e39f300039 Added some accessors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:35:37 +00:00
Ingo Weinhold
7a7112b32d * Renaming and coding moving.
* Added locking to DwarfManager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 22:12:26 +00:00
Ingo Weinhold
671ef9b084 * Some moving and renaming.
* Added TeamDebugInfo which serves as factory for ImageDebugInfos.
* Added the DWARF code to the build again. It's not used yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 21:09:21 +00:00
Ingo Weinhold
93b6484548 * Added support for loading the debug info for an image lazily and adjusted
the jobs accordingly.
* Added a view to list the source files and functions for an image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 16:49:55 +00:00
Ingo Weinhold
90011666aa GetFunctions(): Ignore non-function symbols.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 16:43:07 +00:00
Ingo Weinhold
95917e07d0 * Fixed gcc3+ demangling. demangle_name_gcc3() already demangles the name
completely, including parameters.
* Whitespace cleanup.
* Coding style fixes.
* Keep variables as local as possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 14:23:47 +00:00
Philippe Houdoin
9a9e660b03 Coding style cleanup, take 2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 13:19:18 +00:00
Philippe Houdoin
a71dfdd88c Rollback to use demangle_name_gcc3() for gcc3+ to get qualified method demangling.
+ Cleanup coding style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 23:23:02 +00:00
Ingo Weinhold
6fb6551c97 * ThreadHandler::_ClearContinuationState(): Forgot to set fStepStatement to
NULL after releasing its reference, so it could be released again later.
* No longer attach the source code to StackFrame, but rather to
  FunctionDebugInfo. Besides being the more obvious place it also prevents
  un-/reloading the source code when stepping. Only disadvantage is that we
  never unload the source again yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 15:11:56 +00:00
Ingo Weinhold
125e089e1a ImageDebugInfo does now gather function debug infos from all available sources
on init, keeping the most expressive one for each function. The interface
changed accordingly, i.e. it is now possible to iterate through the functions
and FindFunction() is now called FunctionAtAddress(), not returning a reference
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 13:12:06 +00:00
Ingo Weinhold
1c6fd17f75 Pulled interface TeamMemory out of DebuggerInterface to make the arch and model
packages indepent of the latter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 00:39:23 +00:00
Ingo Weinhold
43b0f7e0d7 * Moved breakpoint management into new class BreakpointManager and added
support for temporary breakpoints.
* TeamDebugger: No longer handle debug events in the listener thread. Instead
  post a message to the looper thread. Makes the locking a bit easier.
* Architecture: Added virtual GetInstructionInfo() and GetStatement() returning
  information on the instruction respectively a statement at a given address.
  Implemented for x86.
* DebugInfo: Added virtual GetStatement() and implemented it for
  DebuggerDebugInfo by means of using the Architecture.
* Implemented step over/into/out support. Works in principle, but has no
  handling for PLTs yet, i.e. stepping into functions of other libraries
  requires two steps ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 23:51:09 +00:00