From: Tom Tromey <tromey@redhat.com>
To: Pedro Alves <pedro@codesourcery.com>
Cc: gdb-patches@sourceware.org,
"Ulrich Weigand" <uweigand@de.ibm.com>,
Jan Kratochvil <jkratoch@redhat.com>
Subject: Re: Multi-exec patches
Date: Mon, 27 Jul 2009 17:39:00 -0000 [thread overview]
Message-ID: <m33a8ijbhu.fsf@fleche.redhat.com> (raw)
In-Reply-To: <200907251612.50134.pedro@codesourcery.com> (Pedro Alves's message of "Sat\, 25 Jul 2009 16\:12\:49 +0100")
>>>>> "Pedro" == Pedro Alves <pedro@codesourcery.com> writes:
Tom> ... which is a little odd, since no build was done.
Tom> And, what's with process 3931 executing /bin/true?
Tom> Am I not debugging the 'make' process?
Pedro> Ah, but you're debugging in all-stop mode. What this means
Pedro> is that a program exit is a reason to stop everything and report
Pedro> to the user. This was /bin/true exiting. Check "info inferiors",
Pedro> and you should still see other inferiors there, waiting for you
Pedro> to tell them to continue execution.
I didn't see anything else in "info inferiors", but I am not sure I am
doing it at the right time.
I made gdb crash while trying it again today:
(gdb) set non-stop on
(gdb) set detach-on-fork off
(gdb) run
Starting program: /usr/bin/make
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
Can not resume the parent process over vfork in the foreground while
holding the child stopped. Try "set detach-on-fork" or "set schedule-multiple".
Recursive internal problem.
Aborted
I also got this strange result:
(gdb) set detach-on-fork off
(gdb) set schedule-multiple on
(gdb) set non-stop on
(gdb) run
Starting program: /usr/bin/make
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New process 21131]
Couldn't get registers: No such process.
(gdb) info inf
Id Target ID SSpace Main Program
* 2 process 21131 2
1 process 21128 1 /usr/bin/make
Also, "ps" showed me several /usr/bin/make processes still hanging
around from the other day's debugging attempts.
Tom> A minor nit: I think "is executing a new program" would read better.
Pedro> See? That was the *only* string I changed, and it's picky. :-)
Pedro> I should have left that out of the patch. :-)
Hahaha. I'm sorry about that. I do try to avoid bikeshedding of this
sort, but now I've discovered that I only *think* I try ;)
Pedro> You need to try it with non-stop mode on. It should work like you
Pedro> seem to want it to. See the "bootstrapping" gdb example here:
Pedro> http://sourceware.org/ml/gdb-patches/2009-06/msg00388.html
Ok, this worked much better. I was able to interrupt a cc1 process
during make!
I did see this, I don't know if it is intended:
(gdb) kill
Kill the program being debugged? (y or n) y
You can't do that without a process to debug.
After interrupting cc1, I used "quit". gdb exited, but then the make
resumed in the background.
gdb seems somewhat sluggish when I run 'make' in it. Perhaps it is just
because my system is under load.
I see now that inferior output is going to be a problem in this mode, at
least when using gdb in a terminal.
I ran into another crash somehow:
../../archer/gdb/thread.c:708: internal-error: finish_thread_state: Assertion `tp' failed.
I don't know whether I can reproduce this one. I tried setting a
pending breakpoint in c_common_init_options and then running make.
Pedro> ( Long term, I'd very much like to fuse all-stop into non-stop. That is,
Pedro> implement all-stop mode on top of non-stop+async, and so have make the
Pedro> UI (especially the number of setting required to activate), much reduced.
Pedro> We're still a bit far from that... )
Sounds good.
Tom
next prev parent reply other threads:[~2009-07-27 17:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-22 17:14 [rfc] Infrastructure to disable breakpoints during inferior startup Ulrich Weigand
2009-07-22 20:32 ` Tom Tromey
2009-07-23 15:49 ` Ulrich Weigand
2009-07-23 16:51 ` Tom Tromey
2009-07-23 18:06 ` Ulrich Weigand
2009-07-23 18:57 ` Pedro Alves
2009-07-24 22:49 ` Tom Tromey
2009-07-24 23:32 ` Multi-exec patches (Was: [rfc] Infrastructure to disable breakpoints during inferior startup) Tom Tromey
2009-07-25 16:05 ` Pedro Alves
2009-07-25 19:31 ` Pedro Alves
2009-07-27 17:39 ` Tom Tromey [this message]
2009-07-27 18:45 ` Multi-exec patches Tom Tromey
2009-07-28 14:28 ` Pedro Alves
2009-07-29 22:03 ` Tom Tromey
2009-07-31 15:45 ` [rfc] Infrastructure to disable breakpoints during inferior startup Ulrich Weigand
2009-08-03 3:07 ` Thiago Jung Bauermann
2009-08-03 18:13 ` Eli Zaretskii
2009-08-05 18:14 ` Ulrich Weigand
2009-08-05 18:58 ` Eli Zaretskii
2009-08-06 17:46 ` Tom Tromey
2009-08-06 18:42 ` Eli Zaretskii
2009-08-06 19:12 ` Michael Snyder
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=m33a8ijbhu.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=jkratoch@redhat.com \
--cc=pedro@codesourcery.com \
--cc=uweigand@de.ibm.com \
/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