WD="$3"
 if test `uname -s` = SunOS ; then
   gcore -o ${WD}/${PNAME} $2
-  dbx $1 $2 <@scriptdir@/btraceback.dbx >${WD}/bacula.$2.traceback 2>&1
+  if [ -x /usr/bin/mdb ]; then
+     mdb -u -p $2 <@scriptdir@/btraceback.mdb >${WD}/bacula.$2.traceback 2>&1
+  else
+     dbx $1 $2 <@scriptdir@/btraceback.dbx >${WD}/bacula.$2.traceback 2>&1
+  fi
   cat ${WD}/bacula.$2.traceback \
    | @sbindir@/bsmtp -h @smtp_host@ -f @dump_email@ -s "Bacula DBX traceback of ${PNAME}" @dump_email@
 else
 
--- /dev/null
+# btraceback.mdb
+
+$G
+::echo "******** RUNNING LWPS/THREADS:"
+::echo
+::walk thread
+
+::echo
+::echo
+::echo "******** STACK TRACE OF CURRENT LWP:"
+::echo
+$C
+
+::echo
+::echo
+::echo "******** VARIABLES DUMP OF CURRENT LWP:"
+::echo
+
+::echo "******** STACK TRACE OF LWPS:"
+::walk thread | ::findstack
+
+::echo "******** VARIABLES DUMP OF LWPS:"
+
+::quit