summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/platform_tools/android/bin/android_gdb_exe
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/platform_tools/android/bin/android_gdb_exe')
-rwxr-xr-xchromium/third_party/skia/platform_tools/android/bin/android_gdb_exe48
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