This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Target can step over breakpoints itself
- From: Daniel Jacobowitz <drow at false dot org>
- To: Pedro Alves <pedro at codesourcery dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 28 Oct 2008 10:17:37 -0400
- Subject: Re: Target can step over breakpoints itself
- References: <200810271419.00304.pedro@codesourcery.com>
On Mon, Oct 27, 2008 at 02:19:00PM +0000, Pedro Alves wrote:
> The attached patch adds a new "StepOverBreakpoints" feature to the
> remote protocol to the remote stub can tell GDB that the debug api has
> that feature, and exposes that knowledge to the rest of GDB by
> adding a new target_ops method (target_can_step_over_breakpoints),
> and teaching infrun.c to it doesn't need to do the traditional hold-and-step
> dance (remove breakpoints, single-step, insert breakpoints) from the
> inferior(s), if the target reports support for stepping over them
> itself.
>
> Any objections/thoughts on this?
Does DICOS hit breakpoints at the current PC if you continue, rather
than step? I'd hope so - and if so, let's document that expectation.
It's details like that which confuse people trying to implement the
remote protocol.
Does this need to be conditional on the type of breakpoint (hardware
vs software, Z0 vs memory) or on the actual breakpoint? For instance,
platforms with per-thread hardware breakpoints can 'step over'
hardware breakpoints by temporarily removing them from just one
thread; and I believe setting IA64_PSR_DD lets you step or continue
over a breakpoint.
That's all I can think of; it seems like a generally good idea.
--
Daniel Jacobowitz
CodeSourcery