1 changed files with 19 additions and 0 deletions
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash |
||||
# https://gist.github.com/anthonyaxenov/925e2db217730a49f20600520b748039 |
||||
# Original: https://gist.github.com/akostadinov/33bb2606afe1b334169dfbf202991d36 |
||||
# The difference is that this func outputs stacktrace in reverse order (from top level to lower ones) |
||||
function print_stacktrace () { |
||||
STACK="" |
||||
local i |
||||
local stack_size=${#FUNCNAME[@]} |
||||
echo "Stacktrace:" |
||||
# skip this function and "MAIN non_file_source:0" |
||||
for (( i=$stack_size-1; i>=1; i-- )); do |
||||
local func="${FUNCNAME[$i]}" |
||||
[ x$func = x ] && func=MAIN |
||||
local linen="${BASH_LINENO[$(( i - 1 ))]}" |
||||
local src="${BASH_SOURCE[$i]}" |
||||
[ x"$src" = x ] && src=non_file_source |
||||
echo -e "\n at $func $src:$linen" |
||||
done |
||||
} |
Loading…
Reference in new issue