* When a team debugger is installed automatically, the thread causing that is

stored now.
* Extended the debugger message for B_DEBUGGER_MESSAGE_HANDED_OVER by the
  causing thread.
* Also send B_DEBUGGER_MESSAGE_HANDED_OVER to the debugger to which the team
  was handed over. The message will be the very first one the debugger gets
  from the team in question.
* Some harmless refactoring (added thread_hit_serious_debug_event()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29302 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2009-02-23 22:59:45 +00:00
parent 180e55a48b
commit e1975d3353
3 changed files with 141 additions and 112 deletions
+9 -5
View File
@@ -54,6 +54,9 @@ struct team_debug_info {
sem_id debugger_write_lock;
// synchronizes writes to the debugger port with the setting (but not
// clearing) of the B_TEAM_DEBUG_DEBUGGER_HANDOVER flag
thread_id causing_thread;
// thread that caused the debugger to be attached; -1 for manual
// debugger attachment (or no debugger installed)
vint32 image_event;
// counter incremented whenever an image is created/deleted
@@ -123,13 +126,14 @@ struct thread_debug_info {
// team debugging flags (user-specifiable flags are in <debugger.h>)
enum {
B_TEAM_DEBUG_DEBUGGER_INSTALLED = 0x0001,
B_TEAM_DEBUG_DEBUGGER_HANDOVER = 0x0002,
B_TEAM_DEBUG_DEBUGGER_DISABLED = 0x0004,
B_TEAM_DEBUG_DEBUGGER_INSTALLED = 0x0001,
B_TEAM_DEBUG_DEBUGGER_HANDOVER = 0x0002, // marked for hand-over
B_TEAM_DEBUG_DEBUGGER_HANDING_OVER = 0x0004, // handing over
B_TEAM_DEBUG_DEBUGGER_DISABLED = 0x0008,
B_TEAM_DEBUG_KERNEL_FLAG_MASK = 0xffff,
B_TEAM_DEBUG_KERNEL_FLAG_MASK = 0xffff,
B_TEAM_DEBUG_DEFAULT_FLAGS = 0,
B_TEAM_DEBUG_DEFAULT_FLAGS = 0,
};
// thread debugging flags (user-specifiable flags are in <debugger.h>)