From 4e6380191694c92ff12713a501123a2601ec45af Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Wed, 21 Mar 2007 09:33:39 +0000 Subject: [PATCH] a script to decode stack traces. --- commands/scripts/Makefile | 4 ++++ commands/scripts/unstack.sh | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 commands/scripts/unstack.sh diff --git a/commands/scripts/Makefile b/commands/scripts/Makefile index 2fee8db0c..4d98a77da 100755 --- a/commands/scripts/Makefile +++ b/commands/scripts/Makefile @@ -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 $? $@ diff --git a/commands/scripts/unstack.sh b/commands/scripts/unstack.sh new file mode 100644 index 000000000..d32cb711d --- /dev/null +++ b/commands/scripts/unstack.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ $# -lt 1 ] +then echo "Usage: $0 [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 -- 2.44.0