Re: [GD-Linux] signals and exceptions
Brought to you by:
vexxed72
From: D. S. <st...@id...> - 2001-11-15 23:56:05
|
Mads Bondo Dydensborg wrote: > > On Thu, 15 Nov 2001, Daniel Vogel wrote: > > > > Shouldn't you be able to do this from a signal handler as well? I do that, > > > although very simplistic. It adds a few extra stackframes, but those can > > > be ignored. > > > > We already have all this "nice" code doing this and printing out extended > > backtraces (together with extra information we put on the stack) that relies > > on unwinding the stack and I thought I could easily get that to work on > > Linux without our current setjmp/ longjmp approach. > > > > Mind sharing your code? I guess I'm just a bit too confused now to see > > obvious solutions :) > > I do not mind, but I warn you, it is extremely simplistic: > > #ifdef HAVE_EXECINFO_H > #include <execinfo.h> > #endif > > #include <iostream> > > /* Dump a backtrace to cerr */ > void BackTrace() { > #ifdef HAVE_EXECINFO_H > cerr << "Dumping stacktrace" << endl; > void *aTrace[32]; > char **tString; > int size, i; > size = backtrace(aTrace, 32); > tString = backtrace_symbols(aTrace, size); Would it be possible to see what is in the backtrace() and backtrace_symbols() functions? D. Stimits, st...@id... > for (i = 0; i < size; i++) { > cerr << "In " << tString[i] << endl;; > } > #else > cerr << "No stacktrace available" << endl; > #endif > } > > > I told you it was simple :-) > > My signal handler is then setup to call this function for certain signals. > > The first couple of lines will be references to the signal handler, but > below that, is the usual stackframes. > > I may have misunderstood your needs, and this may be entirely unusable for > you. It does help me though. > > Mads > > P.S. The HAVE_EXECINFO_H is define by autoconf for me - should be present > on any system that uses glibc. > > -- > Mads Bondo Dydensborg. ma...@ch... > UNIX always presumes you know what you're doing. You're the human being, > after all, and it is a mere operating system. > > _______________________________________________ > Gamedevlists-linux mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-linux |