From: Jim Blandy <jimb@codesourcery.com>
To: Sascha <sascha@pasalacqua.de>
Cc: gdb@sourceware.org
Subject: Re: How to interrupt a stepping GDB ?
Date: Mon, 03 Jul 2006 18:28:00 -0000 [thread overview]
Message-ID: <vt2u05yczkx.fsf@theseus.home.> (raw)
In-Reply-To: <20060620122335.GB20079@nevyn.them.org> (Daniel Jacobowitz's message of "Tue, 20 Jun 2006 08:23:35 -0400")
Daniel Jacobowitz <drow@false.org> writes:
> On Sun, Jun 18, 2006 at 11:55:19AM +0200, Sascha wrote:
>> On a local, fast machine this might be okay. But on a (slow) remote target,
>> stepping a loop like this will take minutes or hours because GDB sends
>> thousands or even millions of step commands until a == 0;
>
> [The correct fix for this is to add a "step range" packet, which will
> speed up the process immensely. As it happens, I hope to do that for
> the next version of GDB after 6.5.]
>
>> Now the question: If I notice such a case - how can I interrupt GDB? If I
>> notice that the stepping would take a long time I'd rather interrupt GDB and
>> set a breakpoint on the next line. CTRL-C does not work. And waiting hours
>> or shutting down GDB is no acceptable.
>
> Breakpoint 1, main () at loop.c:3
> 3 int a = 200000;
> (gdb) s
> 4 for (; a; --a);
> (gdb) n
>
> Program received signal SIGINT, Interrupt.
> 0x000000000040043c in main () at loop.c:4
> 4 for (; a; --a);
>
> CTRL-C works for me...
Maybe this has been discussed before, but:
Should 'step' stop stepping if the PC fails to make forward progress?
In every situation I can think of, that would mean that a loop
iteration has been completed. It shouldn't affect loops that cover
more than one line.
But it might be confusing to the user: "I told it to step, and nothing
happened!"
next prev parent reply other threads:[~2006-07-03 18:28 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-20 12:24 Daniel Jacobowitz
2006-07-03 18:28 ` Jim Blandy [this message]
2006-07-03 19:20 ` Mark Kettenis
-- strict thread matches above, loose matches on Subject: below --
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
2006-06-19 2:13 Sascha
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=vt2u05yczkx.fsf@theseus.home. \
--to=jimb@codesourcery.com \
--cc=gdb@sourceware.org \
--cc=sascha@pasalacqua.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox