| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 # | 2 # |
| 3 # android_gdbserver: Pushes gdbserver. Starts debugging environment. | 3 # android_gdbserver: Pushes gdbserver. Starts debugging environment. |
| 4 | 4 |
| 5 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | 5 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| 6 source $SCRIPT_DIR/android_setup.sh | 6 source $SCRIPT_DIR/android_setup.sh |
| 7 source $SCRIPT_DIR/utils/setup_adb.sh | 7 source $SCRIPT_DIR/utils/setup_adb.sh |
| 8 | 8 |
| 9 configuration="Debug" | 9 APP_NAME=${APP_ARGS[0]} |
| 10 | |
| 11 for arg in ${APP_ARGS[@]} | |
| 12 do | |
| 13 if [[ "${arg}" == "--release" ]]; | |
| 14 then | |
| 15 configuration="Release" | |
| 16 else | |
| 17 gdbVars=("${gdbVars[@]}" "${arg}") | |
| 18 fi | |
| 19 | |
| 20 shift | |
| 21 done | |
| 22 | |
| 23 APP_NAME=${gdbVars[0]} | |
| 24 PORT=5039 | 10 PORT=5039 |
| 25 | 11 |
| 26 if [ ! -f "${SKIA_OUT}/${configuration}/lib.target/lib${gdbVars[0]}.so" ]; | 12 BUILD_DIR="${SKIA_OUT}/${BUILDTYPE}" |
| 13 TARGET_LIBRARY="${BUILD_DIR}/lib/lib${APP_NAME}.so" |
| 14 if [ ! -f "$TARGET_LIBRARY" ] |
| 27 then | 15 then |
| 28 echo "Unable to find the ${gdbVars[0]} library" | 16 echo "Unable to find the ${APP_NAME} library at ${TARGET_LIBRARY}." |
| 29 exit 1 | 17 exit 1 |
| 30 fi | 18 fi |
| 31 | 19 |
| 32 # We need the debug symbols from these files | 20 # We need the debug symbols from these files |
| 33 GDB_TMP_DIR=$(pwd)/android_gdb_tmp | 21 GDB_TMP_DIR=$(pwd)/android_gdb_tmp |
| 34 mkdir $GDB_TMP_DIR | 22 mkdir $GDB_TMP_DIR |
| 35 | 23 |
| 36 echo "Copying symbol files" | 24 echo "Copying symbol files" |
| 37 adb_pull_if_needed /system/lib/libc.so $GDB_TMP_DIR | 25 adb_pull_if_needed /system/lib/libc.so $GDB_TMP_DIR |
| 38 cp "${SKIA_OUT}/${configuration}/skia_launcher" $GDB_TMP_DIR | |
| 39 cp "${SKIA_OUT}/${configuration}/lib.target/libskia_android.so" $GDB_TMP_DIR | |
| 40 cp "${SKIA_OUT}/${configuration}/lib.target/lib${APP_NAME}.so" $GDB_TMP_DIR | |
| 41 | 26 |
| 42 echo "Pushing app..." | 27 echo "Pushing app..." |
| 43 adb_push_if_needed "${SKIA_OUT}/${configuration}/skia_launcher" /data/local/tmp | 28 for file in \ |
| 44 adb_push_if_needed "${SKIA_OUT}/${configuration}/lib.target/libskia_android.so"
/data/local/tmp | 29 "${BUILD_DIR}/skia_launcher" \ |
| 45 adb_push_if_needed "${SKIA_OUT}/${configuration}/lib.target/lib${APP_NAME}.so" /
data/local/tmp | 30 "${BUILD_DIR}/lib/libskia_android.so" \ |
| 31 "${BUILD_DIR}/lib/lib${APP_NAME}.so" \ |
| 32 ; do |
| 33 cp "$file" $GDB_TMP_DIR |
| 34 adb_push_if_needed "$file" /data/local/tmp |
| 35 done |
| 46 | 36 |
| 47 echo "Pushing gdbserver..." | 37 echo "Pushing gdbserver..." |
| 48 adb_push_if_needed $ANDROID_TOOLCHAIN/../gdbserver data/local/tmp | 38 adb_push_if_needed $ANDROID_TOOLCHAIN/../gdbserver data/local/tmp |
| 49 | 39 |
| 50 echo "Setting up port forward" | 40 echo "Setting up port forward" |
| 51 $ADB forward "tcp:5039" "tcp:5039" | 41 $ADB forward "tcp:5039" "tcp:5039" |
| 52 | 42 |
| 53 # Kill all previous instances of gdbserver and the app to rid all port overridin
g errors. | 43 # Kill all previous instances of gdbserver and the app to rid all port overridin
g errors. |
| 54 echo "Killing any running Skia processes." | 44 echo "Killing any running Skia processes." |
| 55 $ADB shell ps | grep gdbserver | awk '{print $2}' | xargs $ADB shell kill | 45 $ADB shell ps | grep gdbserver | awk '{print $2}' | xargs $ADB shell kill |
| 56 $ADB shell ps | grep ${APP_NAME} | awk '{print $2}' | xargs $ADB shell kill | 46 $ADB shell ps | grep ${APP_NAME} | awk '{print $2}' | xargs $ADB shell kill |
| 57 | 47 |
| 58 # Starting up gdbserver in android shell | 48 # Starting up gdbserver in android shell |
| 59 echo "Starting gdbserver with command: ${gdbVars[@]}" | 49 echo "Starting gdbserver with command: ${APP_ARGS[@]}" |
| 60 $ADB shell /data/local/tmp/gdbserver :5039 /data/local/tmp/skia_launcher ${gdbVa
rs[@]} & | 50 $ADB shell /data/local/tmp/gdbserver :5039 /data/local/tmp/skia_launcher ${APP_A
RGS[@]} & |
| OLD | NEW |