3 # backtrace symbols .bt file dump helper for atscap-1.1
6 # Application name is AN
7 # Application signal handler name is SN
9 # CO PO PC BO BC P1 P2 B1 B2 are checks for various extracts
27 # extract file name, (function name) and [address]
28 C1
=`expr index "$line" "$CO"`
30 then echo "$line"; continue
38 P1
=`expr index "$line" "$PO"`
39 P2
=`expr index "$line" "$PC"`
41 B1
=`expr index "$line" "$BO"`
42 B2
=`expr index "$line" "$BC"`
44 # echo " " $C1 $P1 $P2 $B1 $B2
47 then if [ "$P2" -gt "0" ]
48 then FUNC
=${line:$P1:$P2-$P1-1}
52 if [ "$B2" -gt "$B1" ]
53 then ADDR
=${line:$B1:$B2-$B1-1}
66 # echo N1 $N1 N2 $N2 P1 $P1 P2 $P2 B1 $B1 B2 $B2
68 if [ "$N2" -gt "$N1" ]
69 then NAME
=${line:$N1:$N2-$N1-1}
72 # if [ "$N2" -gt "1" ]
73 # then echo NAME $NAME
76 # if [ "$P2" -gt "1" ]
77 # then echo FUNC $FUNC
80 # if [ "$B2" -gt "1" ]
81 # then echo ADDR $ADDR
83 # echo "+++" NAME $NAME FUNC $FUNC ADDR $ADDR
85 # only want AM matches to application name AN to generate addr2line
86 AM
=`expr index "$NAME" "$AN"`
87 # only want SM non-match to signal_handler function to generate addr2line
88 SM
=`expr index "$NAME" "$SN"`
100 # echo DO addr2line.new -s -f -e $PREFIX/bin/atscap $ADDR
102 addr2line
-s -f -e $PREFIX/bin
/atscap
$ADDR