]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r19150: add a usefull tool to test the gdb_backtrace script
authorStefan Metzmacher <metze@samba.org>
Fri, 6 Oct 2006 18:04:48 +0000 (18:04 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:20:44 +0000 (14:20 -0500)
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.

metze
(This used to be commit 56ae0171bafe4576c6163a0198a18b8163314e20)

source4/script/gdb_backtrace_test.c [new file with mode: 0644]

diff --git a/source4/script/gdb_backtrace_test.c b/source4/script/gdb_backtrace_test.c
new file mode 100644 (file)
index 0000000..506784f
--- /dev/null
@@ -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;
+}