This is the mail archive of the archer@sourceware.org mailing list for the Archer 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: Tasks (exception round-up)


Tom Tromey wrote:
* Exceptions. Look at the existing longjmp stuff, come up with an
estimate for the new work.

Can you elaborate a little more on this. I was hoping it would become clearer as I investigated.


The only issue I have encountered is attempting to step in the catch exception handler code causes GDB to lose control of the inferior in certain circumstances:

See:

http://sourceware.org/ml/archer/2008-q3/msg00037.html
http://sourceware.org/ml/archer/2008-q3/msg00038.html

Though this I am guessing a stepping/debug-info bug? Stepping when there is debug-info available works ok.

Also look at the current state of the
various "catch" commands, maybe look though gnats to see if anything
is known to be broken
I've only been able to get catch throw and catch catch to work with C++. Try to provide arguments to either returns a junk argument message to be returned.

catch throw foo and catch catch foo with named exceptions would totally rock. I can attempt to estimate the work there, if needed. I would like them, would it be a generally useful thing for others?

Another nit is the catch catch and catch throw breakpoint is in the libstdc++ code, not in the inferior throw foo or catch foo code. This is personally not useful; I've no interest in the libstdc++ code and beyond a libstdc++ developer I'm not sure someone else would. Daniel noted that this had been hacked on a bit, but breaks Eclipse (and I guess by extension) other clients.

There are several other long-term outstanding issues:

- If you call a function interactively (I guess via inferior function calls) and that function raises an exception, control may not be returned at the end of that function. (And I guess control not returned until a signal is delivered or another random breakpoint encountered).

- You cannot install an exception handler, or raise an exception in an interactive session.

I have not tested these yet - they may be already fixed and this is outdated info. I'll attempt to call and cause an exception to trigger in an inferior function call next.

Regards

Phil


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