From mboxrd@z Thu Jan 1 00:00:00 1970 From: khan@xraylith.wisc.edu (Mumit Khan) To: help-gcc@gnu.org Subject: Re: Forcing thrown exceptions to core dump without stack unwinding? Date: Fri, 31 Dec 1999 22:24:00 -0000 Message-ID: <82aecc$cpq$1@news.doit.wisc.edu> References: <829qlj$80e@spool.cs.wisc.edu> X-SW-Source: 1999-12n/msg00060.html Message-ID: <19991231222400.VQhcW4faKvJ2MNcGFnvflvoDZCj0iOhGIXSU0B7cM7Q@z> In article < 829qlj$80e@spool.cs.wisc.edu >, Andy Glew wrote: >I'm using GCC 2.95. >Q: is there a way of forcing thrown exceptions to core dump >at the site of the exception - so that I can get a useful core dump >I can look at in a debugger? This is IMO a real issue with current EH implementation in GCC. One way to fix is to implement a dual pass: (1) "virtually" unwind the stack looking for a handler, and (2) if found, call the handler; if not, call terminate in the context of the current frame. Essentially, you get a C-like assertion if you don't have a handler for that exception. >My program may run for many days before the core dump (or not). >It is impractical to run them in a debugger set to break at the first >exception. Since the exceptions seem to be arising in library functions >I have not written, it is impractical to change the code to optionally >not throw. I know the feeling. I have numercial codes that runs from days to weeks at a time, and it's very frustrating when you can't pinpoint where things went wrong. You can get around *some of it* by inserting "catch all" blocks around library codes, but it's still messy. >Please email to glew@cs.wisc.edu And posted of course. Regards, Mumit