diff options
Diffstat (limited to 'chromium/third_party/skia/platform_tools/android/bin/android_gdb_exe')
-rwxr-xr-x | chromium/third_party/skia/platform_tools/android/bin/android_gdb_exe | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/chromium/third_party/skia/platform_tools/android/bin/android_gdb_exe b/chromium/third_party/skia/platform_tools/android/bin/android_gdb_exe new file mode 100755 index 00000000000..64be9bbd387 --- /dev/null +++ b/chromium/third_party/skia/platform_tools/android/bin/android_gdb_exe @@ -0,0 +1,48 @@ +#!/bin/bash +# +# android_gdb: Pushes gdbserver. Connects and enters debugging environment. + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source $SCRIPT_DIR/android_setup.sh + +# setup the gdbserver +export BUILDTYPE # from android_setup.sh +$SCRIPT_DIR/android_gdbserver -d ${DEVICE_ID} ${APP_ARGS[@]} + +# quit if gdbserver setup failed +if [[ "$?" != "0" ]]; then + echo "ERROR: gdbserver failed to setup properly." + exit 1 +fi + +# Wait for gdbserver +sleep 2 + +# variables that must match those in gdb_server +GDB_TMP_DIR=$(pwd)/android_gdb_tmp +APP_NAME=${APP_ARGS[0]} +PORT=5039 + +# Set up gdb commands +GDBSETUP=$GDB_TMP_DIR/gdb.setup +{ + echo "file ${GDB_TMP_DIR}/skia_launcher" + echo "target remote :${PORT}" + echo "set solib-absolute-prefix ${GDB_TMP_DIR}" + echo "set solib-search-path ${GDB_TMP_DIR} + + # The apps shared library symbols are not loaded by default so we + # load them here." + echo "break launch_app" + echo "continue" + echo "sharedLibrary ${APP_NAME}" +} > $GDBSETUP + + +# Launch gdb client +echo "Entering gdb client shell" +GDB_COMMAND=$(command ls "$ANDROID_TOOLCHAIN"/*-gdb | head -n1) +"$GDB_COMMAND" -x $GDBSETUP + +# Clean up +rm -rf $GDB_TMP_DIR |