From: Vladimir Prus <vladimir@codesourcery.com>
To: gdb@sources.redhat.com
Subject: Re: -exec-step over a blocking function call
Date: Wed, 19 Mar 2008 19:38:00 -0000 [thread overview]
Message-ID: <frrg8q$o0t$2@ger.gmane.org> (raw)
In-Reply-To: <47E13AAD.9050504@qnx.com>
Aleksandar Ristovski wrote:
> Hello,
>
> I have encountered a problem using MI interface. It is not very easy to
> reproduce, hence no real test case, but I will try to describe what I am
> seeing:
>
> This is the situation I have:
>
> (gdb)
> -exec-step 1
> ^running
> (gdb)
> ~"Single stepping until exit from function SyncSemWait, \n"
> ~"which has no line number information.\n"
>
>
> Where SyncSemWait is a blocking function (as the name suggests, waiting for
> semaphore). Gdb will just sit here since the inferior has several threads,
> one
> of which is reading stdin waiting for user input, and apparently input would
>
> unblock. But until it does, gdb is sitting here. The problem I am seeing is
> that
> often, while waiting for SyncSemWait to return IDE would issue additional mi
>
> commands which eventually make gdb crash or appear frozen (unresponsive).
So which is that -- crash or appear frozen?
In the majority of cases, GDB does not read or processes further
MI commands while waiting for the target to stop
(which it does in your case). And even if it accepts commands,
there's just one allowed command -exec-interrupt.
If the IDE attempts to any other command, the IDE has a bug.
>
> I am not sure how should gdb deal with this situation. Any ideas?
Please check the spec of MI changes for async targets that I've posted
yesterday. It would be great if the IDE developers also glance and make
omments before I implement it all.
- Volodya
next prev parent reply other threads:[~2008-03-19 16:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-19 16:51 Aleksandar Ristovski
2008-03-19 19:38 ` Vladimir Prus [this message]
2008-03-19 21:03 ` Nick Roberts
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='frrg8q$o0t$2@ger.gmane.org' \
--to=vladimir@codesourcery.com \
--cc=gdb@sources.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