This is the mail archive of the
frysk@sourceware.org
mailing list for the frysk project.
Re: Roadmap beginnings
>>>>> "Ian" == Ian Lance Taylor <iant@google.com> writes:
Tom> I'm looking around a bit to see if I can find specifics of what
Tom> is wrong.
Ian> I don't know if this counts as "expression parsing," but the most
Ian> obvious problems that I encounter are the difficulties in working with
Ian> STL objects. Given "std::vector<T> v", I can't do "print v[0]".
Ian> Given "std::vector<T>::iterator p", I can't do "print *p". That is
Ian> minimal required functionality for good C++ debugging. This needs to
Ian> work smoothly for STL types and for user defined types.
Thanks. I remember you mentioning this at the Summit, but I'd
forgotten when sending the email.
Ian> A related problem, which I don't know how to solve, is that many
Ian> simple C++ accessors get inlined, and are not available when
Ian> debugging. This makes it vastly more difficult to debug optimized C++
Ian> programs (indeed, this problem is more serious for me in practice than
Ian> the debuginfo problems discussed at the summit).
I have seen a few ideas kicked around:
1. Always emit the accessors out-of-line.
2. Emit DWARF code corresponding to the accessors.
3. Write Python code equivalent to the accessors and arrange for the
debugger to invoke it in the appropriate situations.
#1 seems like the obvious choice, aside from code size problems. Are
those severe?
Tom