This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Remote Debugging with NEXT Command
- From: <Paul_Koning at Dell dot com>
- To: <km at mathcs dot emory dot edu>
- Cc: <gdb at sourceware dot org>
- Date: Tue, 10 Jun 2014 21:12:55 +0000
- Subject: Re: Remote Debugging with NEXT Command
- Authentication-results: sourceware.org; auth=none
- References: <53977260 dot 9080700 at mathcs dot emory dot edu>
On Jun 10, 2014, at 5:02 PM, Ken Mandelberg <km@mathcs.emory.edu> wrote:
> I'm doing remote gdb deugging to a stub implemented on the target over tcp. SI works and NEXT works well enough skipping over a function call.
>
> What can be very slow is NEXT from one C statement to the next.
>
> When NEXT skips over a function call it implements it by setting a breakpoint at the return address.
>
> When NEXT skips from one C statement to the next, it does it by doing repeated SI's. This forces the target to send back a bunch of state at
> each SI. This is slow and very slow if the C statement actually has a loop in it.
>
> Is there any way around this other than carefully avoiding NEXT in the worst cases and manually setting breakpoints/CONT?
If your stub supports breakpoints, it will take less work for GDB to do the stepping. Basic stepping involves placing break instructions and restoring the content, repeatedly. That’s a lot more round trips but it requires less stub magic.
paul