From a329b70e1554a84773d2721b6a49aeac9048b6ff Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 16 Apr 2004 17:49:11 +0000 Subject: r252: add backtrace to examples so people know about it (slight change from lars @suse) (This used to be commit c9db3da255e3b349cae8596136ee624a0482f38b) --- examples/scripts/backtrace | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 examples/scripts/backtrace (limited to 'examples/scripts') diff --git a/examples/scripts/backtrace b/examples/scripts/backtrace new file mode 100644 index 00000000000..2ea6a4d00a1 --- /dev/null +++ b/examples/scripts/backtrace @@ -0,0 +1,41 @@ +#! /bin/sh +# +# Author: Andrew Tridgell + +# we want everything on stderr, so the program is not disturbed +exec 1>&2 + +BASENAME=$( basename $0) + +test -z ${GDB_BIN} && GDB_BIN=$( type -p gdb) +if [ -z ${GDB_BIN} ]; then + echo "ERROR: ${BASENAME} needs an installed gdb. " + exit 1 +fi + +if [ -z $1 ]; then + echo "ERROR: ${BASENAME} needs a PID. " + exit 1 +fi +PID=$1 + +# use /dev/shm as default temp directory +test -d /dev/shm && \ + TMP_BASE_DIR=/dev/shm || \ + TMP_BASE_DIR=/var/tmp +TMPFILE=$( mktemp -p ${TMP_BASE_DIR} backtrace.XXXXXX) +if [ $? -ne 0 ]; then + echo "ERROR: ${basename} can't create temp file in ${TMP_BASE_DIR}. " + exit 1 +fi + +cat << EOF > "${TMPFILE}" +set height 0 +up 8 +bt full +quit +EOF + +${GDB_BIN} -x "${TMPFILE}" "/proc/${PID}/exe" "${PID}" + +/bin/rm -f "${TMPFILE}" -- cgit v1.2.1