2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
5 #ifndef BREAKPOINT_MANAGER_H
6 #define BREAKPOINT_MANAGER_H
10 #include "Breakpoint.h"
13 class DebuggerInterface
;
17 class BreakpointManager
{
19 BreakpointManager(Team
* team
,
20 DebuggerInterface
* debuggerInterface
);
25 status_t
InstallUserBreakpoint(
26 UserBreakpoint
* userBreakpoint
,
28 void UninstallUserBreakpoint(
29 UserBreakpoint
* userBreakpoint
);
31 status_t
InstallTemporaryBreakpoint(
32 target_addr_t address
,
33 BreakpointClient
* client
);
34 void UninstallTemporaryBreakpoint(
35 target_addr_t address
,
36 BreakpointClient
* client
);
38 void UpdateImageBreakpoints(Image
* image
);
39 void RemoveImageBreakpoints(Image
* image
);
42 void _UpdateImageBreakpoints(Image
* image
,
44 status_t
_UpdateBreakpointInstallation(
45 Breakpoint
* breakpoint
);
49 BLocker fLock
; // used to synchronize un-/installing
51 DebuggerInterface
* fDebuggerInterface
;
55 #endif // BREAKPOINT_MANAGER_H