diff --git a/contrib/scripts/ast_coredumper b/contrib/scripts/ast_coredumper index b2ab4ace6a7c79625a751428f3f939af5656858a..a098e5d870cb7af1ac3a5ebe4ec2a839ff192e74 100755 --- a/contrib/scripts/ast_coredumper +++ b/contrib/scripts/ast_coredumper @@ -419,8 +419,12 @@ fi # Extract the gdb scripts from the end of this script # and save them to /tmp/.gdbinit +gdbinit=${OUTPUTDIR:-/tmp}/.ast_coredumper.gdbinit + +trap "rm $gdbinit" EXIT + ss=`egrep -n "^#@@@SCRIPTSTART@@@" $0 |cut -f1 -d:` -tail -n +${ss} $0 >${OUTPUTDIR:-/tmp}/.ast_coredumper.gdbinit +tail -n +${ss} $0 >$gdbinit # Now iterate over the coredumps and dump the debugging info for i in ${!COREDUMPS[@]} ; do @@ -431,7 +435,7 @@ for i in ${!COREDUMPS[@]} ; do cfname=`basename ${cf}` outputdir=${OUTPUTDIR:-${cfdir}} - ${GDB} -n --batch -q --ex "source ${OUTPUTDIR:-/tmp}/.ast_coredumper.gdbinit" "$asterisk_bin" "$cf" 2>/dev/null | ( + ${GDB} -n --batch -q --ex "source $gdbinit" "$asterisk_bin" "$cf" 2>/dev/null | ( of=/dev/null while IFS= read line ; do if [[ "$line" =~ !@!@!@!\ ([^\ ]+)\ !@!@!@! ]] ; then