This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: step out of range
- To: jtc at redback dot com
- Subject: Re: step out of range
- From: Fernando Nasser <fnasser at cygnus dot com>
- Date: Fri, 12 Jan 2001 17:27:38 -0500
- CC: gdb at sourceware dot cygnus dot com
- Organization: Red Hat , Inc. - Toronto
- References: <5mpuhsza5c.fsf@jtc.redback.com>
"J.T. Conklin" wrote:
>
> I've encounter monitors and ICEs that have a "step out of range"
> command where execution continues until a instruction outside of a
> range of instructions is about to be executed or a breakpoint is
> triggered. If GDB is able to take advantage of this feature, it won't
> have to do multiple single-steps for step, next, until, etc. commands.
>
> This could siginficantly improve interactive debugging performance, as
> it eliminates most of the latency from the "step an instruction/ query
> registers to check whether we're within the address range/yep we
> are/repeat" sequence.
>
> GDB already computes a range of instructions (step_range_start,
> step_range_end) that it uses internally when stepping through a range
> of instructions. So it seems that all we need to do is to expose/use
> these variables in the target layer. In fact, the vxWorks RDB target
> (remote-vx.c) does exactly this. But it seems that these values
> should be passed through to target_remote() instead of being globals.
>
> Any thoughts? I'd like to add a step out of range command to the
> remote protocol.
>
This idea is really neat. I had a sort of stub some years ago
(actually a "Debugger Helper" loaded on a multiprocessor node) that
was capable of taking care of the single step without having to
get back to the debugger. The implementation was a hack, but the
result was effective.
You have my vote (as people are now in the voting mood :-).
--
Fernando Nasser
Red Hat - Toronto E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9