Added {Install,Uninstall}Breakpoint().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31188 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -363,6 +363,35 @@ DebuggerInterface::SingleStepThread(thread_id thread)
|
||||
}
|
||||
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -40,6 +40,9 @@ public:
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user