Update the runtest set.
[nethome.git] / bin / ptracegrep
index d4180fb..b33807f 100755 (executable)
@@ -1,8 +1,24 @@
 #! /bin/sh
 # $Id$
 
-PID=$(sed -n 's/^ptrace *([^,]*, *\([0-9]*\),.*$/\1/p' "$1"|sort|uniq -c|sort -nr|head -n1|awk '{print $2}')
+if [ "$1" = "-n" ];then
+       n=true
+       shift
+else
+       n=false
+fi
+
+if [ -n "$2" ];then
+       PID="$2"
+else
+       PIDS="$(sed -n 's/^ptrace *(PTRACE_ATTACH, *\([0-9]*\),.*$/\1/p' "$1"|sort -u)"
+       if [ -z "$PIDS" ];then
+               echo >&2 "No PIDS found!"
+               exit 1
+       fi
+       PID='\('"$(echo "$PIDS"|tr '\n' ','|sed -e 's/,$//' -e 's/,/\\|/g')"'\)'
+fi
 echo >&2 "PID=$PID"
 grep $PID $1 \
-       | grep -v '^\(\(open\|read\) *(\|ptrace *( *PTRACE_\(PEEK\|POKE\)\)' \
-       | sed -e 's/\<'$PID'\>/PID/g' -e 's/0x[0-9a-f]\{5,\}/HEX/g'
+       | grep -v '^\(\(open\|read\|write\) *(\|ptrace *( *PTRACE_\(PEEK\|POKE\)\)' \
+       | if $n;then cat;else sed -e 's/\<'$PID'\>/PID/g' -e 's/0x[0-9a-f]\{5,\}/HEX/g';fi