tracing, attaching to gdb processes

Ed Peschko
2006-03-06T05:28:38Z

all,

I had a couple of suggestions for gdb, and was wondering if they had either
been implemented, or were on the 'wish list' to be implemented.

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.

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.

Anyways, #1 I think would be more generally useful, but #2 would be very nice in
lots of situations too, IMO. Have either of these been implemented?

Ed