From: "Kulkarni, Mayuresh \(IT\)" <Mayuresh.Kulkarni@morganstanley.com>
To: "Daniel Jacobowitz" <drow@false.org>
Cc: <gdb@sourceware.org>
Subject: RE: Finding the type of an exception
Date: Sun, 29 Oct 2006 22:37:00 -0000 [thread overview]
Message-ID: <1F8E762E1B3F814F9630D0D32A1C65F808DA3241@NYWEXMB81.msad.ms.com> (raw)
In-Reply-To: <20061029222142.GA14050@nevyn.them.org>
Ahh cool.. That worked!!
And there I was trying to do some fancy casting business (trying to
simulate the __cxa_call_unexpected(void *) function by looking at its
source code. )
Thanks a lot,
Mayuresh.
| -----Original Message-----
| From: Daniel Jacobowitz [mailto:drow@false.org]
| Sent: Sunday, October 29, 2006 5:22 PM
| To: Kulkarni, Mayuresh (IT)
| Cc: gdb@sourceware.org
| Subject: Re: Finding the type of an exception
|
| On Sun, Oct 29, 2006 at 05:15:47PM -0500, Kulkarni,
| Mayuresh (IT) wrote:
| > 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 ?
|
| The best place to look for more information about this is
| the common
| C++ ABI document; it's named for Itanium, but don't let
| that throw you
| off, it is actually used with only minor variations (such
| as the sizes of types) on other platforms. You can learn
| more about it here:
|
| http://www.codesourcery.com/cxx-abi/abi.html
| http://www.codesourcery.com/cxx-abi/abi-eh.html
|
| The object you've got there is a __cxa_exception, if I'm
| remembering how this works right. If so then the first
| pointer is going to be to a type_info.
|
| --
| Daniel Jacobowitz
| CodeSourcery
|
--------------------------------------------------------
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.
next prev parent reply other threads:[~2006-10-29 22:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-29 15:54 Why gdb always confirm if I'm quitting when the program is still running? Peng Yu
2006-10-29 20:05 ` Joel Brobecker
2006-10-29 21:18 ` Tavis Ormandy
2006-10-29 22:15 ` Finding the type of an exception Kulkarni, Mayuresh (IT)
2006-10-29 22:21 ` Daniel Jacobowitz
2006-10-29 22:37 ` Kulkarni, Mayuresh (IT) [this message]
2006-10-30 4:18 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1F8E762E1B3F814F9630D0D32A1C65F808DA3241@NYWEXMB81.msad.ms.com \
--to=mayuresh.kulkarni@morganstanley.com \
--cc=drow@false.org \
--cc=gdb@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox