summaryrefslogtreecommitdiff
path: root/selftest/gdb_backtrace_test.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-10-28 12:20:59 +0100
committerStefan Metzmacher <metze@samba.org>2008-10-28 12:20:59 +0100
commit6bc9fb887fa685a595b019c5ad6fc77f2fa3e914 (patch)
treee4b9f0b874fe9c33e57fbaf62547fa7467052f7f /selftest/gdb_backtrace_test.c
parent2b29b7186459d945ec448694164bfe4239b30d72 (diff)
downloadsamba-6bc9fb887fa685a595b019c5ad6fc77f2fa3e914.tar.gz
samba-6bc9fb887fa685a595b019c5ad6fc77f2fa3e914.tar.bz2
samba-6bc9fb887fa685a595b019c5ad6fc77f2fa3e914.zip
selftest: move gdb_* and valgrind_* scripts to selftest/
metze
Diffstat (limited to 'selftest/gdb_backtrace_test.c')
-rw-r--r--selftest/gdb_backtrace_test.c42
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 0000000000..506784f675
--- /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;
+}