This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: tracepoint frames


First - thanks for the response

-----Original Message-----
From: Daniel Jacobowitz [mailto:drow@mvista.com]
Sent: Monday, October 06, 2003 9:51 AM
To: Newman, Mark (N-Superior Technical Resource Inc)
Cc: Jim Blandy; gdb@sources.redhat.com
Subject: Re: tracepoint frames


On Mon, Oct 06, 2003 at 09:03:03AM -0400, Newman, Mark (N-Superior
Technical Resource Inc) wrote:
> 
> Jim -
> 
> When a trace point is hit some data is collected - certainly at a
> minimum the data specified by the collect statements.  However from
some
> earlier conversations and a converstaion with Ramana that additional
> information should be collected.  Michael indicated that he collected
a
> "frame" in addition to the registers, data items, etc specified in the
> collect commands.
> 
> Is it necessary to collect enough information to support say a
> "backtrace" command (after a tfind)? 

Well, it would be nice but it's not generally possible.  The backtrace
logic is pretty hairy and target-dependent; the stub has no way to find
out what will be necessary.

If this is necessary I was thinking that the sub could collect the whole
stack.  However this seems to be prohibitively expensive in both size
and speed.

> I have found that simple "print" commands will work and that "printf"
> commands will not work unless one sets up the complete environment. Is
> there a requirement or a preference on the part of the community as to
> what needs to be available when analyzing a tracepoint?

Probably if any additional data ought to be collected that shoud be
implemented in the GDB client, not silently by the stub.

I thought that the data was collected only in the stub when a tracepoint
is hit.  GDB never sees the data until a "g" or an "m" protocol message
arrives at the stub.

> 
>                                                    Mark
> 
>                                              
> -----Original Message-----
> From: Jim Blandy [mailto:jimb@redhat.com]
> Sent: Friday, October 03, 2003 7:57 PM
> To: Newman, Mark (N-Superior Technical Resource Inc)
> Cc: gdb@sources.redhat.com
> Subject: Re: tracepoint frames
> 
> 
> 
> "Newman, Mark (N-Superior Technical Resource Inc)"
> <mark.newman@lmco.com> writes:
> > The question has come up as to what needs to be collected when a
> > tracepoint is hit.  I understand that a "frame" needs to be
> > collected.  Can someone tell me what a "frame" is.  Is it a stack
> > frame, a trace frame, or what?
> 
> Well, we do have trace frames; a trace frame is the clump of
> information collected for a single tracepoint hit.  It includes
> registers, and assorted regions of memory.
> 
> You can also ask a trace frame to collect things like local variables,
> arguments, or registers.  But all that gets parsed by the code in
> tracepoint.c and turned into a 'struct collection_list', that's just a
> set of registers, memory regions, and agent expressions to collect;
> it's all parsed for you.  So at that level, there are no frames any
> more --- everything is explicit
> 
> But I don't feel like I've answered the question.  In what context did
> it come up?
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]