am eda13282: Merge changes I1998a9d6,I2513f0de

* commit 'eda132820bede79a109c16aa0c91bd6cb15380d8':
  Function to grep AndroidManifest.xml files.
  Utility to dump stacks from arbitrary processes.
This commit is contained in:
Kenny Root 2013-03-08 11:44:03 -08:00 committed by Android Git Automerger
commit ae9dc40d9e
1 changed files with 39 additions and 1 deletions

View File

@ -737,7 +737,40 @@ function pid()
# to the usual ANR traces file
function systemstack()
{
adb shell echo '""' '>>' /data/anr/traces.txt && adb shell chmod 776 /data/anr/traces.txt && adb shell kill -3 $(pid system_server)
stacks system_server
}
function stacks()
{
if [[ $1 =~ ^[0-9]+$ ]] ; then
local PID="$1"
elif [ "$1" ] ; then
local PID=$(pid $1)
else
echo "usage: stacks [pid|process name]"
fi
if [ "$PID" ] ; then
local TRACES=/data/anr/traces.txt
local ORIG=/data/anr/traces.orig
local TMP=/data/anr/traces.tmp
# Keep original traces to avoid clobbering
adb shell mv $TRACES $ORIG
# Make sure we have a usable file
adb shell touch $TRACES
adb shell chmod 666 $TRACES
# Dump stacks and wait for dump to finish
adb shell kill -3 $PID
adb shell notify $TRACES
# Restore original stacks, and show current output
adb shell mv $TRACES $TMP
adb shell mv $ORIG $TRACES
adb shell cat $TMP | less -S
fi
}
function gdbclient()
@ -839,6 +872,11 @@ function resgrep()
for dir in `find . -name .repo -prune -o -name .git -prune -o -name res -type d`; do find $dir -type f -name '*\.xml' -print0 | xargs -0 grep --color -n "$@"; done;
}
function mangrep()
{
find . -name .repo -prune -o -name .git -prune -o -path ./out -prune -o -type f -name 'AndroidManifest.xml' -print0 | xargs -0 grep --color -n "$@"
}
case `uname -s` in
Darwin)
function mgrep()