diff options
Diffstat (limited to 'chromium/third_party/skia/platform_tools/android/bin/android_gdbserver')
-rwxr-xr-x | chromium/third_party/skia/platform_tools/android/bin/android_gdbserver | 68 |
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[@]} & |