Gdb support for exceptions (Re: using backtrace() in exception throwing?)

Stephan Bergmann sbergman at redhat.com
Tue Feb 26 00:00:00 PST 2013


On 02/22/2013 07:14 PM, Tom Tromey wrote:
> I'm curious what types of exceptions are actually thrown in LibreOffice.
> Does it throw -- scalars?  Objects?  Just pointers ("Java style")?

LibreOffice's UNO component system has a large exception hierarchy, 
which is modeled as a hierarchy of classes in C++.  So what is thrown is 
typically (copies of) stack-allocated class instances, of specific 
sub-classes of com::sun::star::uno::Exception.

> If we had the convenience variable mentioned above, and if LibreOffice
> has a relatively simple "exception identity" measure (e.g., if you only
> throw pointers, you can just compare them with ==), then it could
> perhaps be done by: break at the losing catch, make a conditional "catch
> throw", then re-run.

Overall execution in LibreOffice is likely dynamic enough that the 
relevant exception class instance has different addresses in different runs.

Stephan


More information about the LibreOffice mailing list