From: Daniel Jacobowitz <drow@false.org>
To: Ed Peschko <esp5@pge.com>
Cc: gdb@sourceware.org
Subject: Re: tracing, attaching to gdb processes
Date: Tue, 14 Mar 2006 02:28:00 -0000 [thread overview]
Message-ID: <20060314022809.GA1335@nevyn.them.org> (raw)
In-Reply-To: <20060306052832.GA12829@mdssdev05>
On Sun, Mar 05, 2006 at 09:28:32PM -0800, Ed Peschko wrote:
> 1) trace mode. I'd like the ability to set a time delay between how often
> statements are executed, and then have gdb show the statements as they
> *are* being executed.
>
> dbx has this, and its a lifesaver. You set 'trace' on, and then hit
> 'c' - and you see the program steps and code that get executed realtime.
>
> To be real useful, you should be able to start the trace, choose whether
> or not you are going to use 'step' mode (ie: show each step as its executed)
> or 'next' mode (ie: skip over subroutines). And you should be able to hit
> a button to stop execution at any given time.
In general, you can get this by having a loop that does "while 1; step;
shell sleep 1" and hitting Control-C to stop it. Anything more
complicated than that involves the "hitting a button to stop" concept,
which means a GUI should be issuing the step commands - that's easy
to do when you're driving GDB.
> 2) attach mode. I've noticed, especially with testing services through xinetd,
> that you can't always expect to have a gdb session come up visibly.
>
> For example, I was testing cvs the other day through valgrind, and it has a
> --db-command option for firing up a debugger if a memory leak occurs.
> If you are in a shell, this is no big deal. But if the service runs through
> something like valgrind, the gdb debugger gets fired up in a non-interactive
> place. I'd like to have the ability to attach to the gdb command from a window
> and be able to interact with the gdb session from there.
Of course GDB supports attaching to processes. It's just valgrind
that's a problem child, since the way valgrind starts up a GDB to talk
to is so strange. For everything else, you just stop the affected
process when you want to debug it, and gdb FILE PID to attach at your
leisure. Having valgrind create a screen session instead of a gdb
is probably your easiest solution.
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-03-14 2:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-06 5:28 Ed Peschko
2006-03-06 11:55 ` Bob Rossi
2006-03-06 12:01 ` Dave Korn
2006-03-06 20:10 ` Ed Peschko
2006-03-14 2:28 ` Daniel Jacobowitz [this message]
2006-03-15 3:44 ` Ed Peschko
2006-03-15 3:45 ` Daniel Jacobowitz
2006-03-15 5:09 ` Ed Peschko
2006-03-15 14:23 ` Daniel Jacobowitz
2006-03-15 23:37 ` Ed Peschko
2006-03-16 0:53 ` Daniel Jacobowitz
2006-03-16 3:08 ` Ed Peschko
2006-03-16 7:04 ` 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=20060314022809.GA1335@nevyn.them.org \
--to=drow@false.org \
--cc=esp5@pge.com \
--cc=gdb@sourceware.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