From: Andrew Cagney <cagney@redhat.com>
To: Mark Wielaard <mark@klomp.org>
Cc: frysk@sourceware.org
Subject: Re: fstep added
Date: Mon, 18 Dec 2006 16:05:00 -0000 [thread overview]
Message-ID: <4586BC16.6090208@redhat.com> (raw)
In-Reply-To: <1166450488.3022.19.camel@dijkstra.wildebeest.org>
Mark Wielaard wrote:
> Hi,
>
> I finally added my little fstep program. It is certainly not complete,
> and I am not sure it is a much use as is now since it makes programs
> really, really slow. But it is a nice start for the future. You can use
> it as follows:
>
>
Thanks!
> You can also attach it to a running process with --pid.
>
Most of the other utilities are now sharing a common option framework.
Can you bug report the need to convert this code.
> The following things can/should be improved:
>
> - It is currently build right on top of the Instruction TaskObserver. It
> might be better to build it on top of the new rt framework. The rt
> framework can probably also handle stepping over locking sequences like
> on ppc (lwarx/stwcx).
>
Yes, that's something unique to the PPC. There's an existing bug for
this under the PPC blocker list.
> - It only steps the main task. Plumbing is in place to track other
> Tasks, but nothing is connected to that yet.
>
> - Maybe merge it completely with ftrace?
>
Combining single stepping and system call tracing on a Linux Kernel
doesn't work :-( Probably not a good idea, at least for now :-)
> - It is partially so slow because it accesses the Task memory for every
> disassambly. Maybe that can be cached? Although instruction stepping is
> just slow in general. An alternative could be combining stepping with
> breakpoints set on "interesting functions". Or only stepping while in
> the main program map, and not in any of the shared library maps?
>
Yes, more efficient memory access will eventually be needed. For
insttance, by mmapping the inferior address space (I know there are
kernel patches out there to do that), or performing larger transfers and
caching under the hood. Both involve careful thought, especially when
it comes to invalidating caches, so for the moment, as you've done, the
focus remains on correctness.
> - It could give the name of the memory map the PC is currently in.
>
> - It could even give the source/line-number if available.
>
These are all good ideas.
> Note that I have marked the original tracker bug as suspended.
> http://sourceware.org/bugzilla/show_bug.cgi?id=3364
> If any of the above is useful they should probably be raised as bugs and
> depend on #3364.
>
> Cheers,
>
> Mark
>
>
next prev parent reply other threads:[~2006-12-18 16:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-18 14:01 Mark Wielaard
2006-12-18 16:05 ` Andrew Cagney [this message]
2006-12-18 19:41 ` Mark Wielaard
2007-01-22 13:52 ` Phil Muldoon
2007-01-22 16:19 ` Mark Wielaard
2007-01-22 19:00 ` Andrew Cagney
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=4586BC16.6090208@redhat.com \
--to=cagney@redhat.com \
--cc=frysk@sourceware.org \
--cc=mark@klomp.org \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).