This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix "PC register is not available" issue
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Pedro Alves <palves at redhat dot com>
- Cc: brobecker at adacore dot com, gdb-patches at sourceware dot org
- Date: Fri, 28 Mar 2014 21:30:10 +0300
- Subject: Re: [PATCH] Fix "PC register is not available" issue
- Authentication-results: sourceware.org; auth=none
- References: <83txawa9wk dot fsf at gnu dot org> <20140318161608 dot GD4282 at adacore dot com> <83pplja2h9 dot fsf at gnu dot org> <20140318165413 dot GE4282 at adacore dot com> <834n2kztfw dot fsf at gnu dot org> <53358C37 dot 9050907 at redhat dot com> <83a9cafcpz dot fsf at gnu dot org> <5335B619 dot 6040605 at redhat dot com>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> Date: Fri, 28 Mar 2014 17:49:13 +0000
> From: Pedro Alves <palves@redhat.com>
> CC: brobecker@adacore.com, gdb-patches@sourceware.org
>
> >> Why bother calling SetThreadContext at all if we just killed
> >> the process?
> >
> > See my other mail and Joel's response.
>
> Not sure what you mean. TerminateProcess is asynchronous, and
> we need to resume the inferior and collect the debug events
> until we see the process terminate. But, my question is
> why would we write the thread's registers at all if we
> just told it to die? Seems to be we could just skip
> calling SetThreadContext instead of calling it but
> ignoring the result.
If you say so, I don't know enough about this stuff.
> >> Sounds like GDBserver might have this problem too.
> >
> > If there's an easy way to verify that, without having 2 systems
> > talking via some communications line, please tell how, and I will try
> > that.
>
> Sure, you can run gdbserver and gdb on the same machine, and connect
> with tcp. Just:
>
> $ gdbserver :9999 myprogram.exe
>
> in one terminal, and:
>
> $ gdb myprogram.exe -ex "tar rem :9999" -ex "b main" -ex "c"
>
> in another.
OK, will try that.