Commit Graph

20 Commits

Author SHA1 Message Date
Rene Gollent
27a115f668 Revert r39846 and r39847.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-14 17:55:38 +00:00
Rene Gollent
7040b50df5 Add support for thread rename and priority change notifications to the
debugger API/message set.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-14 05:08:47 +00:00
Rene Gollent
6cdfe5505c Add write counterparts to debug_read_memory/debug_read_memory_partial.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 23:27:59 +00:00
Ingo Weinhold
64d5a0a4b7 Added UnhandledDebugMessage() hook which is called by the base class
implementations of the other hooks. This way one can easily detect/handle
otherwise unhandled events.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 21:18:08 +00:00
Ingo Weinhold
1c421b8df4 Added optional "singleStep" parameter to ContinueThread().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 21:16:43 +00:00
Ingo Weinhold
53446ebf80 Added a few classes to the debug kit:
* BDebugMessageHandler: Interface with hooks for handling of debug messages.
* BDebugContext: Essentially a C++ wrapper for struct debug_context, with
  handy methods for controlling a debugged team.
* BTeamDebugger: Proxy for a debugged team. Derived from BDebugContext.
* BDebugLooper: Wraps a main debug message loop. Any number of BTeamDebuggers
  can be added and associated with BDebugMessageHandlers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 00:15:59 +00:00
Ingo Weinhold
86e89f1207 Added BDebugEventInputStream::Seek() to seek in the stream. Works for data
buffer based stream only ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 18:51:38 +00:00
Ingo Weinhold
9774f385b5 Added debug_get_symbol(). It's not implemented particularly efficiently, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 14:20:27 +00:00
Ingo Weinhold
ef0ce69148 Added optional BDebugEventStream::ReadNextEvent() return parameter for the
stream position of the event header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 12:24:25 +00:00
Ingo Weinhold
0b6cffb656 Added BDebugEventInputStream::SetTo() for initializing with a memory buffer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 15:29:11 +00:00
Ingo Weinhold
4d8d8c1f38 * Added a "reserved" field to the debug event file header to align it to 8
bytes.
* strlcpy() isn't a particularly good string compare function.
* BDebugEventInputStream::_GetData():
  - Also need to reset fBufferPosition to 0 when the buffer is empty.
  - Fixed read position.

BDebugEventInputStream does now actually read the files written by
BDebugEventOutputStream.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 23:44:20 +00:00
Ingo Weinhold
36e787103f Made BDebugEventInputStream::ReadNextEvent() nicer to use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 11:17:24 +00:00
Ingo Weinhold
4db202f5f4 Defined a simple file format to store debug event streams as generated by the
system profiling interface and added classes BDebugEvent{Input,Ouput}Stream for
reading/writing those files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 17:38:21 +00:00
Ingo Weinhold
998210b432 Missed in the previous commit: Added debug_get_symbol_iterator_image_info().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-15 13:30:58 +00:00
Ingo Weinhold
e52c3559d3 * Renamed debug_delete_image_symbol_iterator() to
debug_delete_symbol_iterator().
* Added debug_create_file_symbol_iterator() which opens a shared object file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 18:03:24 +00:00
Ingo Weinhold
0f37915687 * debug_create_symbol_lookup_context() gets a team ID instead of a
debug context now. That's all it needs.
* Added the option "-a" to the profile command line tool. It triggers profiling
  of the whole system. There are still some issues, particularly image related
  ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-11 22:59:31 +00:00
Ingo Weinhold
68e6763b07 Added functionality for iterating through the symbols of a debugged
team's image to libdebug.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-15 12:47:59 +00:00
Ingo Weinhold
9a323d3533 Added support for looking up symbols of other team to libdebug. The
debug_server uses this feature to print stack traces with symbols.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 21:12:32 +00:00
Axel Dörfler
b2c1ecd640 Added patch originally written by Ingo Weinhold:
- extended libdebug.so functionality to be able to get stack frames,
  current instruction pointer, etc.
- changed the debug_server to be able to run as a simple BLooper - this
  saves some trouble when the app_server dies
- the debug_server now prints out a stack crawl for the crashed team
  (without symbols, though - for that data to be helpful you should
  have a look at the loaded images (ie. where they start))
- the debug_server now also prints the team name when it kills it


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:44:51 +00:00
Ingo Weinhold
0a064776ae Added the beginnings of a small private API for debug support.
Entirely implemented on top of the public <debugger.h> API, but more
convenient to use. Lives in a separate library libdebug.so.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:04:04 +00:00