X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fscripts%2Fbtraceback.in;h=db70e68ec4d02b49a05c1323965bcfa35119ddda;hb=b9958fb15c49eb66e6d2029fcfa2232717b22d64;hp=79df59979d183bc2fa3ab48889e30558f0f2d63c;hpb=5eb4d01116ff4fa301d4b38de5cefc57635cd8e4;p=bacula%2Fbacula diff --git a/bacula/scripts/btraceback.in b/bacula/scripts/btraceback.in index 79df59979d..db70e68ec4 100755 --- a/bacula/scripts/btraceback.in +++ b/bacula/scripts/btraceback.in @@ -8,31 +8,13 @@ # $1 = path to executable # $2 = main pid of running program to be traced back. # -gdb -quiet -batch -x @sbindir@/btraceback.gdb $1 $2 2>&1 \ - | @sbindir@/bsmtp -h @smtp_host@ -s "Bacula traceback" @dump_email@ - -# Below is some old code that did the traceback from a core -# dump. However, for some odd reason, core dumps are not -# always produced. -#i=0 -#core= -#echo "In modified btraceback" -#echo "$1 $2" -#pwd -#while [ "$i" -lt 60 ] ; do -# if [ -f core ] ; then -# break; -# fi -# if [ -f core.$2 ] ; then -# core=core.$2 -# break -# fi -# sleep 1 -# i=`expr $i + 1` -#done - -#if test x$core != x; then -# gdb -quiet -batch -x @sbindir@/btraceback.gdb $1 $core 2>&1 | mail -s "Bacula traceback" @dump_email@ -#else -# gdb -quiet -batch -x @sbindir@/btraceback.gdb $1 $2 2>&1 | mail -s "Bacula traceback" @dump_email@ -#fi +PNAME=`basename $1` +PNAME="${PNAME} on `hostname`" +if test `uname -s` = SunOS ; then + gcore -o @working_dir@/${PNAME} $2 + dbx $1 $2 <@scriptdir@/btraceback.dbx 2>&1 \ + | @sbindir@/bsmtp -h @smtp_host@ -f @dump_email@ -s "Bacula DBX traceback of ${PNAME}" @dump_email@ +else + gdb -quiet -batch -x @scriptdir@/btraceback.gdb $1 $2 2>&1 \ + | @sbindir@/bsmtp -h @smtp_host@ -f @dump_email@ -s "Bacula GDB traceback of ${PNAME}" @dump_email@ +fi