Added new functions to the debugger API:
{set,clear}_debugger_{break,watch}point(), allowing to set/clear break
and watchpoints for the calling team. When a break/watchpoint is hit,
the team enters the debugger. Handy in situations when the program in
question can't really be started in a debugger (or it would be
complicated to do so). The functions work only as long as no debugger is
installed for the team.
We clear the arch specific team and thread debug infos now, when a new
debugger is installed, thus clearing break- and watchpoints.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20396 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -263,6 +263,10 @@ extern status_t _kern_remove_team_debugger(team_id team);
|
||||
extern status_t _kern_debug_thread(thread_id thread);
|
||||
extern void _kern_wait_for_debugger(void);
|
||||
|
||||
extern status_t _kern_set_debugger_breakpoint(void *address, uint32 type,
|
||||
int32 length, bool watchpoint);
|
||||
extern status_t _kern_clear_debugger_breakpoint(void *address,
|
||||
bool watchpoint);
|
||||
|
||||
/* atomic_* ops (needed for CPUs that don't support them directly) */
|
||||
#ifdef ATOMIC_FUNCS_ARE_SYSCALLS
|
||||
|
||||
@@ -177,6 +177,10 @@ status_t _user_remove_team_debugger(team_id team);
|
||||
status_t _user_debug_thread(thread_id thread);
|
||||
void _user_wait_for_debugger(void);
|
||||
|
||||
status_t _user_set_debugger_breakpoint(void *address, uint32 type,
|
||||
int32 length, bool watchpoint);
|
||||
status_t _user_clear_debugger_breakpoint(void *address, bool watchpoint);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
||||
Reference in New Issue
Block a user