From ef3f1e2c1aa5ff2f18fb1d98ed5b6d441d83959e Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 24 Jul 2015 10:32:07 -0700 Subject: [PATCH] Warn if you're trying to use gdbclient without "adb root". Bug: http://b/22715953 Change-Id: If729fbc89ccd65407e8900bc27df8fa4174dd64e --- scripts/gdbclient | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/gdbclient b/scripts/gdbclient index 2394e1814..773a37f0d 100755 --- a/scripts/gdbclient +++ b/scripts/gdbclient @@ -11,6 +11,7 @@ fi # shell, but not functions (like gettop), so we need to source envsetup in here # as well. source $ANDROID_BUILD_TOP/build/envsetup.sh +echo function adb_get_product_device() { local candidate=`adb shell getprop ro.hardware | tr -d '\r\n'` @@ -96,10 +97,15 @@ function gdbclient() { fi fi - local EXE=`adb shell readlink /proc/$PID/exe | tr -d '\r\n'` + local ID=`adb shell id -u` + if [ "$ID" != "0" ]; then + echo "Error: gdbclient only works if you've run 'adb root'" + return -4 + fi + local EXE=`adb shell readlink /proc/$PID/exe | tr -d '\r\n'` if [ -z "$EXE" ]; then - echo "Error: no such pid=$PID - is process still alive?" + echo "Error: couldn't find executable for pid $PID --- is the process still alive?" return -4 fi