Improve the shell debug run script output.

This commit is contained in:
poikilos 2021-03-22 10:36:17 -04:00
parent 0900f080df
commit 61703a0490

View File

@ -13,12 +13,16 @@ if [ -f "$ERR_TXT" ]; then
exit 1 exit 1
fi fi
fi fi
gdb "$MY_EXE" --eval-command=run --eval-command=bt --batch >& "$ERR_TXT" # echo "* Output will not appear here. Check \"$ERR_TXT\" (It will be shown below when the program ends)..."
# gdb "$MY_EXE" --eval-command=run --eval-command=bt --batch >& "$ERR_TXT"
gdb "$MY_EXE" --eval-command=run --eval-command=bt --batch |& tee "$ERR_TXT"
# or pipe only stderr: {tmp}>&1 1>&2 2>&$tmp {tmp}>&- | tee "$ERR_TXT"
# as per https://stackoverflow.com/a/52575213/4541104
code=$? code=$?
if [ $code -ne 0 ]; then if [ $code -ne 0 ]; then
echo "'gdb \"$MY_EXE\" --eval-command=run --eval-command=bt --batch >& \"$ERR_TXT\"' failed (status=$code)." # echo "'gdb \"$MY_EXE\" --eval-command=run --eval-command=bt --batch >& \"$ERR_TXT\"' failed (status=$code)."
echo "'gdb \"$MY_EXE\" --eval-command=run --eval-command=bt --batch |& tee \"$ERR_TXT\"' failed (status=$code)."
else else
echo "The program closed (status=$code)." echo "The program closed (status=$code)."
fi fi
echo "See \"$ERR_TXT\"." # cat "$ERR_TXT"
cat "$ERR_TXT"