User debugger support:
* Generalized address checks. The debugger can now also read the commpage. * Added new syscall _kern_get_thread_cpu_state() to get the CPU state of a not running thread. Introduced arch_get_thread_debug_cpu_state() for that purpose, which is only implemented for x86 ATM (uses the new i386_get_thread_user_iframe()). * Don't allow a debugger to change a thread's "esp" anymore. That's the esp register in the kernel. "user_esp" can still be changed. * Generally set RF (resume flag) in eflags in interrupt handlers, not only after a instruction breakpoint debug exception. This should prevent breakpoints from being triggered more than once (e.g. when the breakpoint is on an instruction that can cause a page fault). I still saw those with bdb in VMware, but that might be a VMware bug. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31045 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -240,6 +240,8 @@ status_t _user_install_default_debugger(port_id debuggerPort);
|
||||
port_id _user_install_team_debugger(team_id team, port_id debuggerPort);
|
||||
status_t _user_remove_team_debugger(team_id team);
|
||||
status_t _user_debug_thread(thread_id thread);
|
||||
status_t _user_get_thread_cpu_state(thread_id thread,
|
||||
struct debug_cpu_state *cpuState);
|
||||
void _user_wait_for_debugger(void);
|
||||
|
||||
status_t _user_set_debugger_breakpoint(void *address, uint32 type,
|
||||
|
||||
Reference in New Issue
Block a user