Warn if you're trying to use gdbclient without "adb root".
Bug: http://b/22715953
Change-Id: If729fbc89ccd65407e8900bc27df8fa4174dd64e
diff --git a/scripts/gdbclient b/scripts/gdbclient
index 2394e18..773a37f 100755
--- a/scripts/gdbclient
+++ b/scripts/gdbclient
@@ -11,6 +11,7 @@
# 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 @@
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