summaryrefslogtreecommitdiff
path: root/java/debug.sh
diff options
context:
space:
mode:
Diffstat (limited to 'java/debug.sh')
-rwxr-xr-xjava/debug.sh13
1 files changed, 8 insertions, 5 deletions
diff --git a/java/debug.sh b/java/debug.sh
index 7008664c049..2e95f9738c7 100755
--- a/java/debug.sh
+++ b/java/debug.sh
@@ -267,10 +267,14 @@ if [ -z "$gdbserver" ]; then
gdbserver_bin=/system/bin/gdbserver
else
gdbserver_bin=/data/local/tmp/gdbserver
+ gdbserver_cat="cat $gdbserver_bin | run-as $package sh -c \
+ \"tee gdbserver > /dev/null\""
# Upload the specified gdbserver binary to the device.
adb -s $device push "$gdbserver" "$gdbserver_bin"
- adb -s $device shell chmod +x "$gdbserver_bin"
+ # Copy it to the user directory.
+ adb -s $device shell "$gdbserver_cat"
+ adb -s $device shell "run-as $package chmod +x gdbserver"
fi
# Now start gdbserver on the device asynchronously.
@@ -286,10 +290,9 @@ if [ -z "$gdbserver" ]; then
else
# Normally the program cannot access $gdbserver_bin when it is
# placed in /data/local/tmp.
- adb -s $device shell $gdbserver_bin --once \
- "+/data/local/tmp/debug.$package.socket" \
- --attach $pid >&5 &
- gdb_socket="localfilesystem:/data/local/tmp/debug.$package.socket"
+ adb -s $device shell run-as $package "./gdbserver" --once \
+ "0.0.0.0:7654" --attach $pid >&5 &
+ gdb_socket="tcp:7654"
fi
# Wait until gdbserver successfully runs.