Hi, guys

The great thing about this list is that you can expect an answer to any 
reasonable technical question here. You are the best, guys.

Now the question ;-). Does anybody know how to generate a core file from 
within a process without terminating it on Linux or Solaris? I know that 
at any point I can call abort() and have the core, or send itself a 
signal that terminates a process with generating a core file. But it is 
not what I need, unfortunately.

I hold little hope for a positive answer as I am in Unix C/C++ 
development for around 15 years, however maybe I am missing something.

Here's the problem. In my C++ program I have an exception class, say, 
NoSuchElementException. It is being handled accordingly throughout the 
code, however there are some places where it sneaks through. I want to 
get an execution stack at the time when the exception is first created 
so that I can trace where it was thrown from (much like in Ruby where 
you can get #backtrace from an exception, Ruby rules :-) !!!) .

So I thought if I could generate a core file from 
NoSuchElementException's constructor and let it go on, I would be able 
to analyze the last core file and pin-point the place immediately (now I 
have to put more trace output to find it).

Thanks a lot,
Gennady.

P.S. I also tried to use gdb and specify command to be executed at a 
given breakpoint (like { backtrace, continue }). It works fine, however, 
executing a program from within gdb is not always an option in a 
production environment :-(, you often need to do post-mortem analysis.