Date: Wed, 22 May 1996 19:09:56 -0700 (PDT) From: Archie Cobbs <archie@whistle.com> To: freebsd-questions@freebsd.org Subject: stack trace library? Message-ID: <199605230209.TAA10682@bubba.whistle.com>
next in thread | raw e-mail | index | archive | help
Does there exist a library with routines that a program (linked with -g)
can use for doing stack crawls?
For example, suppose you
signal(SIGSEGV, CatchBug);
Then when CatchBug() is called, you want the program to display a
stack trace from the point at which the signal occurred, a la gdb's
"where" command. Then we could have self debugging programs! :-)
CatchBug() might look something like this:
extern void StabsSignalTrace(FILE *fp, struct sigcontext *ctx);
void
CatchBug(int sig, struct sigcontext *ctx)
{
warnx("caught fatal signal %s", sys_signame[sig]);
warnx("please email bug report to xxx@foo.com with this trace:");
StabsSignalTrace(stderr, ctx);
exit(1);
}
If there's no such library, is this possible and/or do-able?
-Archie
___________________________________________________________________________
Archie L. Cobbs, archie@whistle.com * Whistle Communications Corporation
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605230209.TAA10682>
