From: Michael Snyder <msnyder@vmware.com>
To: Jason Molenda <jmolenda@apple.com>,
Michael Snyder <msnyder@vmware.com>,
"gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: [remote protocol] step range?
Date: Sun, 07 Sep 2008 00:35:00 -0000 [thread overview]
Message-ID: <48C32177.6060507@vmware.com> (raw)
In-Reply-To: <20080906041540.GA10729@caradoc.them.org>
Daniel Jacobowitz wrote:
> On Fri, Sep 05, 2008 at 05:16:15PM -0700, Jason Molenda wrote:
>> For what it's worth we use the remote protocol for debugging applications
>> on the iPhone / iPod Touch devices. When we first got it up and running,
>> we saw command-line level "step" commands taking multiple (4-5!) seconds
>> to complete. We optimized it to no end and got this down to something
>> like .2 seconds without doing anything too weird to the protocol. We
>> didn't have any single-instruction-step feature so we didn't even consider
>> trying to push range-stepping down to the device.
>
> I find this somewhat surprising - you don't need nearly as much of a
> disassembler to do this for ARM as it sounds like from your comments.
> I've written the code at least twice now, and for pre-Thumb-2 targets
> it's quite straightforward. And it saves enough round trips to be
> a win, as long as you have somewhere closer to the target that can run
> it.
>
>> Since we've established that you must have single-instruction-step
>> capability in the target to do this, I think it's safe to assume that
>> only the current continue thread will execute.
>
> Well, in hosted environments the hardware single step bit is often
> context-switched; e.g. %eflags. Or in multi-core systems there may
> actually be one per 'thread'.
Well you know, guys, it's always optional for a target
to implement a new protocol command. If there's a target
for which this would be hard, or wouldn't gain you much,
you can always leave it un-implemented.
next prev parent reply other threads:[~2008-09-07 0:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-04 22:15 Michael Snyder
2008-09-05 0:12 ` Jason Molenda
2008-09-05 2:39 ` Michael Snyder
2008-09-06 0:17 ` Jason Molenda
2008-09-06 1:09 ` Michael Snyder
2008-09-06 4:16 ` Daniel Jacobowitz
2008-09-07 0:35 ` Michael Snyder [this message]
2008-09-08 4:56 ` Daniel Jacobowitz
2008-09-05 2:32 ` Daniel Jacobowitz
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=48C32177.6060507@vmware.com \
--to=msnyder@vmware.com \
--cc=gdb@sourceware.org \
--cc=jmolenda@apple.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