r7976: Adding debugging info.
authorJohn Terpstra <jht@samba.org>
Tue, 28 Jun 2005 01:50:18 +0000 (01:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:58:05 +0000 (10:58 -0500)
(This used to be commit 97ee7c970c287737396f135336c56c945f639d85)

examples/debugging/README [new file with mode: 0644]
examples/debugging/solaris-oops.sh [new file with mode: 0644]

diff --git a/examples/debugging/README b/examples/debugging/README
new file mode 100644 (file)
index 0000000..9e33680
--- /dev/null
@@ -0,0 +1,28 @@
+Last update: John H Terpstra - June 27, 2005
+
+Subject: This directory will contain debugging tools and tips.
+
+Notes: Identification and confirmation of some bugs can be difficult.
+       When such bugs are encountered it is necessary to provide as
+       sufficient detailed debugging information to assist the developer
+       both by providing incontrivertable proof of the problem, but also
+       precise information regarding the values of variables being processed
+       at the time the problem strikes.
+
+       This directory is the ideal place to locate useful hints, tips and
+       methods that will help Samba users to provide the information that
+       developers need.
+
+============================ Solaris Method A ==============================
+File:                  solaris-oops.sh
+Contributor:   David Collier-Brown
+Date:                  June 27, 2005
+Method and Use:
+To the global stanza of smb.conf add:
+       panic action = /usr/local/bin/solaris-oops.sh %d
+
+When the panic action is initiated a voluntary core dump file will be placed 
+in /var/tmp. Use this method with "log level = 10" and an smbd binary that
+has been built with the '-g' option.
+============================================================================
+
diff --git a/examples/debugging/solaris-oops.sh b/examples/debugging/solaris-oops.sh
new file mode 100644 (file)
index 0000000..78c72c9
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# oops -- capture supporting information after a failure
+#
+ProgName=`basename $0`
+
+main() {
+       pid=$1
+
+       if [ $# -lt 1 ]; then
+               say "$ProgName error: you must supply a pid"
+               say "Usage: $0 pid"
+               exit 1
+       fi
+       cat <<!
+State information and vountary core dump for process $pid
+
+Related processes were:
+`/usr/bin/ptree $pid`
+
+Stack(s) were:
+`/usr/bin/pstack $pid`
+
+Flags were:
+`/usr/bin/pflags $pid`
+
+Credentials were:
+`/usr/bin/pcred $pid`
+
+Libraries used were:
+`/usr/bin/pldd $pid`
+
+Signal-handler settings were:
+`/usr/bin/psig $pid`
+
+Files and devices in use were:
+`/usr/bin/pfiles $pid`
+
+Directory in use was:
+`/usr/bin/pwdx $pid`
+
+
+A voluntary core dump was placed in /var/tmp/oops_gcore.$pid
+`gcore -o /var/tmp/oops_gcore $pid`..
+!
+}
+
+say() {
+       echo "$@" 1>&2
+}
+
+main "$@"