|
|
@ -10,19 +10,33 @@ SCRIPT=$1 |
|
|
function exit { |
|
|
function exit { |
|
|
code=${1:-0} |
|
|
code=${1:-0} |
|
|
|
|
|
|
|
|
|
|
|
stack_lines=("${BASH_LINENO[@]}") |
|
|
|
|
|
stack_functions=("${FUNCNAME[@]}") |
|
|
|
|
|
stack_sources=("${BASH_SOURCE[@]}") |
|
|
|
|
|
unset stack_lines[-1] |
|
|
|
|
|
unset stack_lines[-1] |
|
|
|
|
|
unset stack_functions[0] |
|
|
|
|
|
unset stack_functions[-1] |
|
|
|
|
|
stack_functions[-1]='<main>' |
|
|
|
|
|
unset stack_sources[0] |
|
|
|
|
|
unset stack_sources[-1] |
|
|
|
|
|
stack_lines=("${stack_lines[@]}") |
|
|
|
|
|
stack_functions=("${stack_functions[@]}") |
|
|
|
|
|
stack_sources=("${stack_sources[@]}") |
|
|
|
|
|
|
|
|
if [[ -s $TMP_ERROR ]]; then |
|
|
if [[ -s $TMP_ERROR ]]; then |
|
|
content=$(<$TMP_ERROR) |
|
|
|
|
|
|
|
|
last_error=$(tail -n1 $TMP_ERROR) |
|
|
$DEBUG && >/dev/tty echo '---stderr---' |
|
|
$DEBUG && >/dev/tty echo '---stderr---' |
|
|
>&4 echo "DETECTED: [$content]" |
|
|
|
|
|
|
|
|
>&4 echo "ERROR $code: [$last_error]" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
stack_lines=("${BASH_LINENO[@]}") |
|
|
|
|
|
stack_functions=("${FUNCNAME[@]}") |
|
|
|
|
|
stack_sources=("${BASH_SOURCE[@]}") |
|
|
|
|
|
|
|
|
for i in "${!stack_functions[@]}"; do |
|
|
|
|
|
printf "%30s\t%s\n" "${stack_sources[$i]}:${stack_lines[$i]}" "${stack_functions[$i]}" |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
echo "${stack_lines[@]}" |
|
|
|
|
|
echo "${stack_functions[@]}" |
|
|
|
|
|
echo "${stack_sources[@]}" |
|
|
|
|
|
|
|
|
# echo "${stack_lines[@]}" |
|
|
|
|
|
# echo "${stack_functions[@]}" |
|
|
|
|
|
# echo "${stack_sources[@]}" |
|
|
|
|
|
|
|
|
cleanup ${code} |
|
|
cleanup ${code} |
|
|
} |
|
|
} |
|
|
|