136 Commits

Author SHA1 Message Date
Ingo Weinhold
b7c5bd634b Renamed Variant to BVariant and moved it to libshared.a.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 23:00:25 +00:00
Ingo Weinhold
15f040e596 Some work towards getting stack traces:
* Added a virtual Architecture::CreateStackTrace() and added a basic
  implementation in ArchitectureX86. Fleshed out StackTrace/StackFrame a bit
  and added StackFrameX86. This needs to be organized differently, though, so
  that we can get the maximum available information for each stack frame,
  depending on what info is available for the respective function.
* Added job to get the stack trace for a thread.
* Added stack trace related handling in TeamDebugger. Reorganized the thread
  state/CPU state/stack trace change handling a bit -- we're using a
  Team::Listener now, and do things asynchronously.
* Added a StackTraceView to display the stack trace of the current thread. No
  function name available yet, otherwise working fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 22:13:32 +00:00
Ingo Weinhold
1ae2cffc83 Added ReadMemory().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 21:58:48 +00:00
Ingo Weinhold
15b6b23934 Added view to show registers. Doesn't look particularly nice, but seems to work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 17:31:24 +00:00
Ingo Weinhold
8c724eb86c We already have a reference and want to get rid of it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 17:29:39 +00:00
Ingo Weinhold
2a3974d313 Added constructor versions of the Group and Grid layout builders that take a
BWindow* parameter. They set the newly created layout on the window, which saves
the API user to do that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 15:28:00 +00:00
Ingo Weinhold
6383ae9c30 Added Architecture and DebuggerInterface to the TeamDebugModel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 15:17:58 +00:00
Ingo Weinhold
495676cab6 * Implemented Worker class, which executes Jobs in a separate thread.
* Implemented a job for getting a thread's CPU state.
* The team debugger uses a worker now. ATM only for getting the CPU state for
  stopped threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 15:09:56 +00:00
Ingo Weinhold
c42fe1eb57 More work on the architecture abstraction, particularly regarding information
about what registers the architecture has and how to get them from the CpuState.
Implemented the respective x86 part.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 00:05:45 +00:00
Ingo Weinhold
3c4cb05b95 We can't only use a single debug context, if we want to allow multiple threads
to play with us without blocking. Implemented a pool of debug contexts instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 22:37:16 +00:00
Ingo Weinhold
b6aff5aa83 * Added notifications for thread state/CPU state/stack trace changes. The team
window listens for those and updates the buttons correctly.
* Added basic handling for the thread stopping debug events in the team
  debugger.
* Forward the thread run/stop/step requests to the team debugger and actually
  run/stop/step the thread. Running/stopping works, all three stepping actions
  just step by a single instruction ATM, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 21:45:14 +00:00
Ingo Weinhold
a81bb42a93 Beginnings of the architecture abstraction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 19:57:46 +00:00
Ingo Weinhold
1f2a566cd6 Accidentally checked in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 19:05:05 +00:00
Ingo Weinhold
f208695cc1 Moved all interaction with the kernel/debugger interface into new class
DebuggerInterface. This will simplify adding support for remote debugging
eventually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 17:57:37 +00:00
Ingo Weinhold
ae53f49064 * Changed the layout of the team window. Trying a single window approach.
* Added Run/Step* buttons.
* Added some handling for selection in the thread list.
* Extended listener mechanisms all over the place (in models and views).
* The team debugger now gets the initial states for the team's threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 00:35:12 +00:00
Ingo Weinhold
2903bc659c * Removed the title creator method. Just set the title in the constructor
instead.
* Used the new layout builders. Now that's how layout code should look. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 19:42:11 +00:00
Ingo Weinhold
42f07f3fea * Added ImageListView showing the list of images. It will probably eventually
become a tree view, showing the source files as subitems of the images.
* Added the image list to the team window and changed the layout more towards
  what it's intended to look like.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 14:18:55 +00:00
Ingo Weinhold
2898a353e2 Use a less lazy method to update the threads list view (use the table model
listener mechanism to inform about the exact changes instead of rebuilding the
complete list).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 13:45:07 +00:00
Ingo Weinhold
b15883863d * Init a debug context and set the team debug event flags.
* Handle the "thread/image created/deleted" events, maintaining the Team's
  lists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 13:40:10 +00:00
Ingo Weinhold
d68351089d New AddThread() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 13:35:27 +00:00
Ingo Weinhold
94af2f4293 Removed some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 13:34:31 +00:00
Ingo Weinhold
ac8b67130a * Added bits and pieces to the model classes (Team, Thread, Image).
* Added beginnings of the team window. Currently only showing the thread list
  (not updated yet).
* Added application startup code and argument parsing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-16 21:47:49 +00:00
Ingo Weinhold
576813ea37 Added Clear()/MakeEmpty() methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-16 21:41:59 +00:00
Ingo Weinhold
008dd42650 Initial skeletons of the model (Team, Thread, Image) and the controller
(TeamDebugger) for debugging a team.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-16 00:25:36 +00:00
Philippe Houdoin
87c085991f Ooops, sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 23:12:16 +00:00
Philippe Houdoin
f06173c765 A tiny contribution to an Haiku Debugger rebirth: a Running Teams window designed similar to old' bdb one.
The skeleton 'hdb' application does nothing usefull beside, as I was trying to get fluent in team_debugger 
messages.

That's pretty much all what I came with during a pathetic attempt to secure some free time to work on 
a (indeed) most wanted native graphical debugger for Haiku. Building libdwarf was pending when I've realized
I wont have time ever. 

Ingo, I hope you don't mind. Fee free to do whatever you want with it, remove included.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 23:11:19 +00:00
Ingo Weinhold
774e234b75 Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 21:50:50 +00:00
Ingo Weinhold
9e8ec48b30 Moved dwarf related code into dwarf/ subdirectory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 21:50:04 +00:00
Ingo Weinhold
0523bcd60c Obsolete file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 21:49:42 +00:00
Ingo Weinhold
d49c767c5e * More work on the type debug info entry classes.
* New base classes for other entries handling common attributes.
* Annotated all classes with their missing attributes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 00:42:03 +00:00
Ingo Weinhold
c2e9f2a697 * Support for DW_AT_byte_size in DIECompoundType.
* Fixed several instances of attributes with dynamic values not being handled
  correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 17:16:08 +00:00
Ingo Weinhold
f5334fd1a3 Support for DW_AT_{accessibility,declaration,abstract_origin} attributes for
types.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 14:18:55 +00:00
Ingo Weinhold
9579e97f08 Some default value doesn't harm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 14:17:37 +00:00
Ingo Weinhold
676040f030 Support DW_AT_decl_{file,line,column} attributes for types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 14:02:50 +00:00
Ingo Weinhold
1b83621bf1 Slipped in by accident.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 13:11:42 +00:00
Ingo Weinhold
44101b1f99 The very beginnings of a debugger. Currently consisting only of the beginnings
of a DWARF 3 reader. It can read the .debug_info section and create objects for
the entries, but most attributes are ignored yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 12:53:29 +00:00