[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GUD/GDB in emacs
Re: GUD/GDB in emacs
Sat, 19 Jul 2008 14:03:36 +1200
Richard G Riley writes:
> Nick Roberts <address@hidden> 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?
No, they're debuggers.
> > 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.
I've not used DDD much but I found the data window (= watch expressions?)
awkward. You can view structures in the GUD buffer with "set print pretty"
and the "print" command (also on the tool bar and C-x C-a C-p).
> > 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 you say, they only impede if you expand them. Data structures can be large
and need their own frame/window. It would also be a way to limit the number
of children that need to be created.