diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-10-28 12:20:59 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-10-28 12:20:59 +0100 |
commit | 6bc9fb887fa685a595b019c5ad6fc77f2fa3e914 (patch) | |
tree | e4b9f0b874fe9c33e57fbaf62547fa7467052f7f /selftest/gdb_backtrace_test.c | |
parent | 2b29b7186459d945ec448694164bfe4239b30d72 (diff) | |
download | samba-6bc9fb887fa685a595b019c5ad6fc77f2fa3e914.tar.gz |
selftest: move gdb_* and valgrind_* scripts to selftest/
metze
Diffstat (limited to 'selftest/gdb_backtrace_test.c')
-rw-r--r-- | selftest/gdb_backtrace_test.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/selftest/gdb_backtrace_test.c b/selftest/gdb_backtrace_test.c new file mode 100644 index 00000000000..506784f6757 --- /dev/null +++ b/selftest/gdb_backtrace_test.c @@ -0,0 +1,42 @@ +/* + +add a usefull tool to test the gdb_backtrace script + +just compile it with +cc -g -o gdb_backtrace_test gdb_backtrace_test.c + +and run it in the same directory where your gdb_backtrace script is. + +2006 - Stefan Metzmacher <metze@samba.org> + +*/ +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> +#include <signal.h> + +static const char *prog; + +static void sig_fault(int sig) +{ + int ret; + char cmdstr[200]; + + snprintf(cmdstr, sizeof(cmdstr), + "./gdb_backtrace %u %s", + getpid(), prog); + printf("sig_fault start: %s\n", cmdstr); + ret = system(cmdstr); + printf("sig_fault end: %d\n", ret); +} + +int main(int argc, const char **argv) +{ + prog = argv[0]; + + signal(SIGABRT, sig_fault); + + abort(); + return 0; +} |