help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUD/GDB in emacs


From: Richard G Riley
Subject: Re: GUD/GDB in emacs
Date: Fri, 18 Jul 2008 10:30:45 +0200
User-agent: Emacs 22.2.1/No Gnus v0.11

Nick Roberts <nickrob@snap.net.nz> writes:

>  > > I'm not sure what you mean exactly.  Maybe expand a node in situ in the
>  > > locals buffer, for example.  
>  > 
>  > That would seem the obvious solution and is the case in other IDEs. e.g
>  > you see "p" in the locals (where p is a pointer to a struct for example)
>  > and then can see the struct by double clicking it for example. Pretty
>  > much what the speedbar does but without the speed bar.
>
>
> I think Insight does this but ISTR Totalview uses a separate frame.
> Expanding

I'm not familiar with these things. They are Emacs packages?

> in situ makes it harder to find the other locals.  In fact I'm
> thinking of

Expand, shrink. They only impede if you expand them. If you expand them
they are expanded for a reason generally. But as you point out below the
vocab we are using (because of what is there) can confuse us. "Watch" in
this case is the only apparent way to expand a pointer to a struct. We
should really just be discussing how to view a dereferenced pointer -
DDD does this quite nicely. But being an Emacs convert it would be nice
to have the same, or similar, in the GUD interface.

> using a separate frame for each watch expression, something which isn't really
> possible with the speedbar.  This would be helpful for arrays and large
> structures.

A separate frame for each expression would be a collossal waste of
screen real estate and possibly worse than the current speed bar
implementation IMO.

>
>  >                                                         (As an aside, if
>  > I mouseclick 2 on a local in the locals buffer then its added to the
>  > speedbar as a watch - it would be more consistent I think if "watch p"
>  > from the gdb command line also did the same if the speedbar is in use,
>  > what do you think?).
>
>
> The GDB command "watch" means something else (it sets watchpoint, rather than
> creating a "watch expression").  Watch expressions are created using something
> GDB calls "Variable Objects" and they are created using GDB/MI commands
> intended for the frontend only.  I'm not sure that there is much benefit in
> making this functionality available to the command line.  Note if you want
> to supply an argument for a watch expression, you can do C-u C-c C-w from the
> GUD buffer or C-u C-x C-a C-w from any other.

I think I agree that yes, this is how it is at the moment. I'm just
getting familiar with it but the bottom line, for me, is that the
inability to easily see the contents of a pointed to struct (and I am
admittedly talking C here), is a major limitation in the otherwise
excellent emacs interface to GDB.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]