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
This commit is contained in:
@@ -52,6 +52,9 @@ public:
|
|||||||
const debug_profiler_update& message);
|
const debug_profiler_update& message);
|
||||||
virtual bool HandleHandedOver(
|
virtual bool HandleHandedOver(
|
||||||
const debug_handed_over& message);
|
const debug_handed_over& message);
|
||||||
|
|
||||||
|
virtual bool UnhandledDebugMessage(int32 messageCode,
|
||||||
|
const debug_debugger_message_data& message);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -71,56 +71,64 @@ BDebugMessageHandler::HandleDebugMessage(int32 messageCode,
|
|||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleThreadDebugged(const debug_thread_debugged& message)
|
BDebugMessageHandler::HandleThreadDebugged(const debug_thread_debugged& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_THREAD_DEBUGGED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleDebuggerCall(const debug_debugger_call& message)
|
BDebugMessageHandler::HandleDebuggerCall(const debug_debugger_call& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_DEBUGGER_CALL,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleBreakpointHit(const debug_breakpoint_hit& message)
|
BDebugMessageHandler::HandleBreakpointHit(const debug_breakpoint_hit& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_BREAKPOINT_HIT,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleWatchpointHit(const debug_watchpoint_hit& message)
|
BDebugMessageHandler::HandleWatchpointHit(const debug_watchpoint_hit& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_WATCHPOINT_HIT,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleSingleStep(const debug_single_step& message)
|
BDebugMessageHandler::HandleSingleStep(const debug_single_step& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_SINGLE_STEP,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandlePreSyscall(const debug_pre_syscall& message)
|
BDebugMessageHandler::HandlePreSyscall(const debug_pre_syscall& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_PRE_SYSCALL,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandlePostSyscall(const debug_post_syscall& message)
|
BDebugMessageHandler::HandlePostSyscall(const debug_post_syscall& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_POST_SYSCALL,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleSignalReceived(const debug_signal_received& message)
|
BDebugMessageHandler::HandleSignalReceived(const debug_signal_received& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_SIGNAL_RECEIVED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -128,68 +136,89 @@ bool
|
|||||||
BDebugMessageHandler::HandleExceptionOccurred(
|
BDebugMessageHandler::HandleExceptionOccurred(
|
||||||
const debug_exception_occurred& message)
|
const debug_exception_occurred& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_EXCEPTION_OCCURRED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleTeamCreated(const debug_team_created& message)
|
BDebugMessageHandler::HandleTeamCreated(const debug_team_created& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_TEAM_CREATED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleTeamDeleted(const debug_team_deleted& message)
|
BDebugMessageHandler::HandleTeamDeleted(const debug_team_deleted& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_TEAM_DELETED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleTeamExec(const debug_team_exec& message)
|
BDebugMessageHandler::HandleTeamExec(const debug_team_exec& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_TEAM_EXEC,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleThreadCreated(const debug_thread_created& message)
|
BDebugMessageHandler::HandleThreadCreated(const debug_thread_created& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_THREAD_CREATED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleThreadDeleted(const debug_thread_deleted& message)
|
BDebugMessageHandler::HandleThreadDeleted(const debug_thread_deleted& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_THREAD_DELETED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleImageCreated(const debug_image_created& message)
|
BDebugMessageHandler::HandleImageCreated(const debug_image_created& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_IMAGE_CREATED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleImageDeleted(const debug_image_deleted& message)
|
BDebugMessageHandler::HandleImageDeleted(const debug_image_deleted& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_IMAGE_DELETED,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleProfilerUpdate(const debug_profiler_update& message)
|
BDebugMessageHandler::HandleProfilerUpdate(const debug_profiler_update& message)
|
||||||
{
|
{
|
||||||
return true;
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_PROFILER_UPDATE,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BDebugMessageHandler::HandleHandedOver(const debug_handed_over& message)
|
BDebugMessageHandler::HandleHandedOver(const debug_handed_over& message)
|
||||||
|
{
|
||||||
|
return UnhandledDebugMessage(B_DEBUGGER_MESSAGE_HANDED_OVER,
|
||||||
|
(const debug_debugger_message_data&)message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*! Called by the base class versions of the specific Handle*() methods.
|
||||||
|
Can be overridded to handle any message not handled otherwise.
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
BDebugMessageHandler::UnhandledDebugMessage(int32 messageCode,
|
||||||
|
const debug_debugger_message_data& message)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user