Finding the type of an exception

Kulkarni, Mayuresh (IT) Mayuresh.Kulkarni@morganstanley.com
Sun Oct 29 22:15:00 GMT 2006


Hello,

I am looking at a core generated by a C++ process because a throw spec
was violated by a function.

The concerned frame in the stack trace is :
#5  0xf65c2485 in __cxa_call_unexpected (exc_obj_in=0xb58cbb4) at
/sw/gcc/src/libstdc++-v3/libsupc++/eh_personality.cc:485


At this point in the process (after std::unexpected() has been called
and we end up in the above function), is it still somehow possible to
deduce the type of the exception from the exc_obj_in void * argument?
Say by trying to interpret the above void * argument as a std::exception
(from other reasons, I am pretty sure that this was a std::exception)
and then doing what typeid does to get at the type_info ?

I am not knowledgeable about the gcc unwinding internals and am not sure
if the above will work, even in principle. 

Thanks a lot.
Mayuresh.
--------------------------------------------------------

NOTICE: If received in error, please destroy and notify sender. Sender does not intend to waive confidentiality or privilege. Use of this email is prohibited when received in error.



More information about the Gdb mailing list