Index: platform_tools/android/bin/android_gdb_exe |
=================================================================== |
--- platform_tools/android/bin/android_gdb_exe (revision 10224) |
+++ platform_tools/android/bin/android_gdb_exe (working copy) |
@@ -2,10 +2,30 @@ |
# |
# android_gdb: Pushes gdbserver. Connects and enters debugging environment. |
+deviceID="" |
+while (( "$#" )); do |
+ |
+ if [[ $(echo "$1" | grep "^-d$") != "" ]]; |
+ then |
+ deviceID="$2" |
+ shift |
+ else |
+ gdbVars=("${gdbVars[@]}" "$1") |
+ fi |
+ |
+ shift |
+done |
+ |
+# hack for x86 support in android_setup.sh |
+if [ "$deviceID" == "x86" ] || [ "$deviceID" == "razr_i" ] |
+then |
+ export ANDROID_ARCH=x86 |
+fi |
+ |
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
# setup the gdbserver |
-$SCRIPT_DIR/android_gdbserver $@ |
+$SCRIPT_DIR/android_gdbserver ${gdbVars[@]} |
# quit if gdbserver setup failed |
if [[ "$?" != "0" ]]; then |
@@ -18,7 +38,7 @@ |
# variables that must match those in gdb_server |
GDB_TMP_DIR=$(pwd)/android_gdb_tmp |
-APP_NAME=$(basename $1) |
+APP_NAME=$(basename ${gdbVars[0]}) |
PORT=5039 |
# Set up gdb commands |
@@ -37,7 +57,12 @@ |
# Launch gdb client |
echo "Entering gdb client shell" |
-$ANDROID_TOOLCHAIN/arm-linux-androideabi-gdb -x $GDBSETUP |
+if [ "$ANDROID_ARCH" == "x86" ] |
+then |
+ $ANDROID_TOOLCHAIN/i686-linux-android-gdb -x $GDBSETUP |
+else |
+ $ANDROID_TOOLCHAIN/arm-linux-androideabi-gdb -x $GDBSETUP |
+fi |
# Clean up |
-rm -rf $GDB_TMP_DIR |
+rm -rf $GDB_TMP_DIR |