This is the mail archive of the
frysk@sourceware.org
mailing list for the frysk project.
Re: Roadmap beginnings
On Mon, Jul 14, 2008 at 10:18:53AM -0700, Ian Lance Taylor wrote:
> I don't know if this counts as "expression parsing," but the most
> obvious problems that I encounter are the difficulties in working with
> STL objects. Given "std::vector<T> v", I can't do "print v[0]".
> Given "std::vector<T>::iterator p", I can't do "print *p". That is
> minimal required functionality for good C++ debugging. This needs to
> work smoothly for STL types and for user defined types.
Right. This is not the expression parsing quagmire - it's definitely
bugs that need to be fixed, but the solutions are (should be) pretty
simple. Tom and I talked about approaches to use Python support,
shipped with the STL implementation, to provide debugger
implementations of inlined operators that are never emitted out of
line.
> It would also be nice if gdb could do template parameter defaulting,
> although that is rather less important as tab completion can take care
> of it.
Better debug info is definitely required for this. DWARF defines the
necessary bits, but neither GCC nor GDB implement them.
> A related problem, which I don't know how to solve, is that many
> simple C++ accessors get inlined, and are not available when
> debugging. This makes it vastly more difficult to debug optimized C++
> programs (indeed, this problem is more serious for me in practice than
> the debuginfo problems discussed at the summit).
Actually, see above. I assumed that was your problem with the STL
operators. If there are other problems, please let us know - maybe
after Tom finishes the Bugzilla migration he's got almost done :-)
Thanks for the examples.
--
Daniel Jacobowitz
CodeSourcery