From: Eli Zaretskii <eliz@gnu.org>
To: Joel Brobecker <brobecker@adacore.com>
Cc: palves@redhat.com, gdb-patches@sourceware.org
Subject: Re: [PATCH] Fix "PC register is not available" issue
Date: Tue, 08 Apr 2014 15:17:00 -0000 [thread overview]
Message-ID: <83d2gr7sw0.fsf@gnu.org> (raw)
In-Reply-To: <20140408042331.GF4250@adacore.com>
> Date: Mon, 7 Apr 2014 21:23:31 -0700
> From: Joel Brobecker <brobecker@adacore.com>
> Cc: palves@redhat.com, gdb-patches@sourceware.org
>
> > Sorry, I don't understand: remote.c is not specific to Windows, so it
> > cannot include any Windows-specific calls like SuspendThread.
>
> I think the easiest is probably for you to take a look at the code
> in gdb/gdbserver/win32-low.c.
I altready did, but you seemed to say that code will not be used,
which confused me.
> This file actually also has a routine
> called thread_rec, and generally speaking, the code in gdb/*-nat.c
> and the corresponding gdb/gdbserver/*-low.c can (and probably should)
> be very similar - at least until we can factorize that code and reuse
> the gdbserver code in GDB.
Yes, I know. I've read the code.
> The reason I was mentioning remote.c is because, when you use GDBserver,
> GDBserver does all the inferior control for GDB. It's like a mini
> debugger, except that it does not have a user interface, only a serial
> interface that GDB can used to communicate with it and send it orders
> such as read or write memory, next/step operations, continue, kill,
> etc. So, even if you are using a Windows native debugger, as soon as
> you type the "target remote [...]" command, the windows-nat target
> gets swapped out in favor of the "remote" target, which then delegates
> the inferior control to the agent (gdbserver). The code that does that
> delegation is in remote.c.
I know that, too. What I don't understand is how all this is relevant
to the issue at hand, which is why the same system calls in
win32-low.c as we have in windows-nat.c don't trigger similar warning
messages.
> So, to try to reproduce with GDBserver, you'd have to do the following.
> In one terminal, start your program with gdbserver. For instance:
>
> % gdbserver --debug :4567 YOUR_PROGRAM
Why do I need --debug? The warnings in question are displayed by
OUTMSG, which AFAIU does not need --debug to print its messages.
> It'll write a message saying that the program has been started,
> and that it's now waiting for a connection on port 4567. The --debug
> switch is not normally necessary, but allows us to turn warnings on,
> which then allows us to determine whether or not we reproduced the
> problem in GDB.
>
> Next, start GDB in a second terminal, and connect to it via:
>
> % gdb YOUR_PROGRAM
> (gdb) target remote :4567
>
> The "target remote [...]" command replaces the "run" command.
> >From there, everything else should be the same as the reproducer
> you have for the case where GDBserver isn't involved.
I already did all that, per Pedro's instructions here:
https://sourceware.org/ml/gdb-patches/2014-03/msg00668.html
> And instead of seeing the warning in the GDB console, you would
> see it in the terminal where gdbserver was started.
But that's it: I see no warnings when I run GDBserver like that.
next prev parent reply other threads:[~2014-04-08 15:17 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-17 19:43 Eli Zaretskii
2014-03-18 16:16 ` Joel Brobecker
2014-03-18 16:35 ` Eli Zaretskii
2014-03-18 16:54 ` Joel Brobecker
2014-03-18 17:13 ` Eli Zaretskii
2014-03-18 17:33 ` Pedro Alves
2014-03-19 3:41 ` Eli Zaretskii
2014-03-19 10:07 ` Pedro Alves
2014-03-19 16:24 ` Eli Zaretskii
2014-03-19 16:41 ` Pedro Alves
2014-03-26 18:49 ` Eli Zaretskii
2014-03-27 12:56 ` Joel Brobecker
2014-03-27 17:41 ` Eli Zaretskii
2014-03-28 13:00 ` Joel Brobecker
2014-03-28 17:29 ` Eli Zaretskii
2014-03-28 14:50 ` Pedro Alves
2014-03-28 17:35 ` Eli Zaretskii
2014-03-28 17:49 ` Pedro Alves
2014-03-28 18:30 ` Eli Zaretskii
2014-03-31 15:31 ` Eli Zaretskii
2014-04-05 9:06 ` Eli Zaretskii
2014-04-07 16:58 ` Joel Brobecker
2014-04-07 17:09 ` Pedro Alves
2014-04-07 18:25 ` Eli Zaretskii
2014-04-07 21:39 ` Joel Brobecker
2014-04-08 2:44 ` Eli Zaretskii
2014-04-08 4:23 ` Joel Brobecker
2014-04-08 15:17 ` Eli Zaretskii [this message]
2014-04-08 11:32 ` Pedro Alves
2014-04-08 16:43 ` Pedro Alves
2014-04-08 17:10 ` Eli Zaretskii
2014-04-08 17:36 ` Pedro Alves
2014-04-08 17:54 ` Eli Zaretskii
2014-04-11 20:06 ` Joel Brobecker
2014-04-19 8:33 ` Eli Zaretskii
2014-04-21 15:43 ` Joel Brobecker
2014-04-21 15:59 ` Eli Zaretskii
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=83d2gr7sw0.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.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