[Haiku-commits] r31188 - haiku/trunk/src/apps/debugger/debugger_interface
bonefish at BerliOS
bonefish at mail.berlios.de
Mon Jun 22 23:44:10 CEST 2009
Author: bonefish
Date: 2009-06-22 23:44:09 +0200 (Mon, 22 Jun 2009)
New Revision: 31188
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=31188&view=rev
Modified:
haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp
haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.h
Log:
Added {Install,Uninstall}Breakpoint().
Modified: haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp
===================================================================
--- haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp 2009-06-22 21:43:06 UTC (rev 31187)
+++ haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp 2009-06-22 21:44:09 UTC (rev 31188)
@@ -364,6 +364,35 @@
status_t
+DebuggerInterface::InstallBreakpoint(target_addr_t address)
+{
+ DebugContextGetter contextGetter(fDebugContextPool);
+
+ debug_nub_set_breakpoint message;
+ message.reply_port = contextGetter.Context()->reply_port;
+ message.address = (void*)(addr_t)address;
+
+ debug_nub_set_breakpoint_reply reply;
+
+ status_t error = send_debug_message(contextGetter.Context(),
+ B_DEBUG_MESSAGE_SET_BREAKPOINT, &message, sizeof(message), &reply,
+ sizeof(reply));
+ return error == B_OK ? reply.error : error;
+}
+
+
+status_t
+DebuggerInterface::UninstallBreakpoint(target_addr_t address)
+{
+ debug_nub_clear_breakpoint message;
+ message.address = (void*)(addr_t)address;
+
+ return write_port(fNubPort, B_DEBUG_MESSAGE_CLEAR_BREAKPOINT,
+ &message, sizeof(message));
+}
+
+
+status_t
DebuggerInterface::GetThreadInfos(BObjectList<ThreadInfo>& infos)
{
thread_info threadInfo;
Modified: haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.h
===================================================================
--- haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.h 2009-06-22 21:43:06 UTC (rev 31187)
+++ haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.h 2009-06-22 21:44:09 UTC (rev 31188)
@@ -40,6 +40,9 @@
virtual status_t StopThread(thread_id thread);
virtual status_t SingleStepThread(thread_id thread);
+ virtual status_t InstallBreakpoint(target_addr_t address);
+ virtual status_t UninstallBreakpoint(target_addr_t address);
+
virtual status_t GetThreadInfos(BObjectList<ThreadInfo>& infos);
virtual status_t GetImageInfos(BObjectList<ImageInfo>& infos);
virtual status_t GetSymbolInfos(team_id team, image_id image,
More information about the Haiku-commits
mailing list