[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