From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Andy Glew" To: help-gcc@gnu.org Subject: Forcing thrown exceptions to core dump without stack unwinding? Date: Fri, 31 Dec 1999 22:24:00 -0000 Message-ID: <829qlj$80e@spool.cs.wisc.edu> X-SW-Source: 1999-12n/msg00056.html Message-ID: <19991231222400.jMXXSTQzr_MTYjojXV45xREGLKEU5hHyPZ7XXUMWMyI@z> 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? Instead, what seems to be happening is that the exceptions cause stack unwinding, are eventually uncaught, and cause a terminate way up on high. For whatever reason, I can get no useful stack backtrace when I look at the core dump in a debugger. 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. (As currently written, there is no issue distinguishing between caught and uncaught exceptions, since I have no exception handling. In any case, the biggest use I have for catching exceptions is to elaborate an error message - e.g. to say "new ran out of memory" and then add layers of context "allocating a foobar_t" "reading the persistemt object store bar" ... I.e. so I won't care very much, for now, if all exceptions immediately cause a coredump without doing any stack unwiding.) I like the concept of exceptions, but I am afraid that I have found that program debuggability has declined significantly since I started using them. --- Please email to glew@cs.wisc.edu