What you could do, perhaps, is to generate a C backtrace yourself in
the functions catching the signals. This will not be very portable
but I've added in glibc 2.1 a function to do just that. There is also
some code using this to generate backtraces in signal handlers.
Nice idea, even if only works using glibc 2.1
Jan