1#!/bin/sh 2# skrypt wyci�gaj�cy z backtrace'a wyrzucanego przez kadu 3# informacje o numerach linii 4# p�ki co nie dzia�a to dla modu��w :/ 5 6# autor: joi 7# licencja: gplv2 8 9SC= 10function findbin() 11{ 12 OLDIFS=$IFS 13 IFS=":" 14 for i in $PATH; 15 do 16 if [ -f $i/$1 ]; 17 then 18 SC=$i 19 IFS=$OLDIFS 20 return 0 21 fi 22 done 23 24 IFS=$OLDIFS 25 SC="" 26 return 1 27} 28 29#findbin kadu && echo $SC 30 31bt=`cat - | grep "^\[" | sed "s/^\(\[[0-9]*\]\) \(.*\)(\(.*\)+[0-9xa-f]*) \[\(0x.*\)\]$/\2 \3 \4/" | grep -v "^\[" | sed "s/bin\/\.\.\///g"` 32 33OLDIFS=$IFS 34IFS=" 35" 36 37for i in $bt; 38do 39 file=`echo $i | awk '{print $1}'` 40 fun=`echo $i | awk '{print $2}'` 41 adr=`echo $i | awk '{print $3}'` 42 if [ `echo -n $file | grep "^[/|\.]" | wc -l` -eq 0 ]; 43 then 44 findbin $file && file=$SC/$file 45 fi 46 echo -n "$fun "| c++filt 47 addr2line -e $file $adr 48done 49 50IFS=$OLDIFS 51