a script to decode stack traces.
This commit is contained in:
parent
1588a9ba77
commit
4e63801916
@ -48,6 +48,7 @@ usr: \
|
||||
/usr/bin/spell \
|
||||
/usr/bin/srccrc \
|
||||
/usr/bin/svclog \
|
||||
/usr/bin/unstack \
|
||||
/usr/bin/version \
|
||||
/usr/bin/whatis \
|
||||
/usr/bin/apropos \
|
||||
@ -161,6 +162,9 @@ clean:
|
||||
/usr/bin/version: version.sh
|
||||
install -m 755 -c -o bin $? $@
|
||||
|
||||
/usr/bin/unstack: unstack.sh
|
||||
install -m 755 -c -o bin $? $@
|
||||
|
||||
/usr/bin/whatis: whatis.sh
|
||||
install -m 755 -c -o bin $? $@
|
||||
|
||||
|
18
commands/scripts/unstack.sh
Normal file
18
commands/scripts/unstack.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ $# -lt 1 ]
|
||||
then echo "Usage: $0 <executable> [0x... [0x... ] ]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
executable=$1
|
||||
shift
|
||||
|
||||
while [ $# -gt 0 ]
|
||||
do dec="`printf %d $1`"
|
||||
nm -d -n $executable | grep ' [Tt] ' | awk '
|
||||
{ if($1 > '$dec') { printf "%s+0x%x\n", name, '$dec'-offset; exit }
|
||||
name=$3; offset=$1
|
||||
}'
|
||||
shift
|
||||
done
|
Loading…
x
Reference in New Issue
Block a user