summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/platform_tools/android/bin/android_gdbserver
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/platform_tools/android/bin/android_gdbserver')
-rwxr-xr-xchromium/third_party/skia/platform_tools/android/bin/android_gdbserver68
1 files changed, 68 insertions, 0 deletions
diff --git a/chromium/third_party/skia/platform_tools/android/bin/android_gdbserver b/chromium/third_party/skia/platform_tools/android/bin/android_gdbserver
new file mode 100755
index 00000000000..6c98b5498cb
--- /dev/null
+++ b/chromium/third_party/skia/platform_tools/android/bin/android_gdbserver
@@ -0,0 +1,68 @@
+#!/bin/bash
+#
+# android_gdbserver: Pushes gdbserver. Starts debugging environment.
+
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $SCRIPT_DIR/android_setup.sh
+source $SCRIPT_DIR/utils/setup_adb.sh
+
+APP_NAME=${APP_ARGS[0]}
+PORT=5039
+
+BUILD_DIR="${SKIA_OUT}/${BUILDTYPE}"
+TARGET_LIBRARY="${BUILD_DIR}/lib/lib${APP_NAME}.so"
+if [ ! -f "$TARGET_LIBRARY" ]
+then
+ echo "Unable to find the ${APP_NAME} library at ${TARGET_LIBRARY}."
+ exit 1
+fi
+
+# We need the debug symbols from these files
+GDB_TMP_DIR=$(pwd)/android_gdb_tmp
+mkdir -p $GDB_TMP_DIR
+
+echo "Copying symbol files"
+SYSTEM_LIBRARY_PATH=/system/lib
+for library_file in \
+ libc.so \
+ libstdc++.so \
+ libm.so \
+ liblog.so \
+ libz.so \
+ libgccdemangle.so \
+ libcorkscrew.so \
+ libutils.so \
+ libstlport.so \
+ libGLES_trace.so \
+ libEGL.so \
+ libGLESv2.so \
+ ; do
+ adb_pull_if_needed "${SYSTEM_LIBRARY_PATH}/${library_file}" $GDB_TMP_DIR
+done
+
+adb_pull_if_needed /system/bin/linker $GDB_TMP_DIR
+
+echo "Pushing app..."
+for file in \
+ "${BUILD_DIR}/skia_launcher" \
+ "${BUILD_DIR}/lib/libskia_android.so" \
+ "${BUILD_DIR}/lib/lib${APP_NAME}.so" \
+ ; do
+ cp "$file" $GDB_TMP_DIR
+ adb_push_if_needed "$file" /data/local/tmp
+done
+
+echo "Pushing gdbserver..."
+adb_push_if_needed $ANDROID_TOOLCHAIN/../gdbserver data/local/tmp
+
+echo "Setting up port forward"
+$ADB forward "tcp:5039" "tcp:5039"
+
+# Kill all previous instances of gdbserver and the app to rid all port overriding errors.
+echo "Killing any running Skia processes."
+$ADB shell ps | grep gdbserver | awk '{print $2}' | xargs $ADB shell kill
+$ADB shell ps | grep ${APP_NAME} | awk '{print $2}' | xargs $ADB shell kill
+
+# Starting up gdbserver in android shell
+echo "Starting gdbserver with command: ${APP_ARGS[@]}"
+$ADB shell /data/local/tmp/gdbserver :5039 /data/local/tmp/skia_launcher ${APP_ARGS[@]} &