| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 # | 2 # |
| 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 # | 6 # |
| 7 | 7 |
| 8 # A generic script used to attach to a running Chromium process and | 8 # A generic script used to attach to a running Chromium process and |
| 9 # debug it. Most users should not use this directly, but one of the | 9 # debug it. Most users should not use this directly, but one of the |
| 10 # wrapper scripts like adb_gdb_content_shell | 10 # wrapper scripts like adb_gdb_content_shell |
| (...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 957 echo "$GDBSERVER_PID" > $GDBSERVER_PIDFILE | 957 echo "$GDBSERVER_PID" > $GDBSERVER_PIDFILE |
| 958 log "background job pid: $GDBSERVER_PID" | 958 log "background job pid: $GDBSERVER_PID" |
| 959 | 959 |
| 960 # Check that it is still running after a few seconds. If not, this means we | 960 # Check that it is still running after a few seconds. If not, this means we |
| 961 # could not properly attach to it | 961 # could not properly attach to it |
| 962 sleep 2 | 962 sleep 2 |
| 963 log "Job control: $(jobs -l)" | 963 log "Job control: $(jobs -l)" |
| 964 STATE=$(jobs -l | awk '$2 == "'$GDBSERVER_PID'" { print $3; }') | 964 STATE=$(jobs -l | awk '$2 == "'$GDBSERVER_PID'" { print $3; }') |
| 965 if [ "$STATE" != "Running" ]; then | 965 if [ "$STATE" != "Running" ]; then |
| 966 echo "ERROR: GDBServer could not attach to PID $PID!" | 966 echo "ERROR: GDBServer could not attach to PID $PID!" |
| 967 echo "Failure log (use --verbose for more information):" | 967 if [ $(adb_shell su -c getenforce) != "Permissive" ]; then |
| 968 cat $GDBSERVER_LOG | 968 echo "Device mode is Enforcing. Changing Device mode to Permissive " |
| 969 exit 1 | 969 $(adb_shell su -c setenforce 0) |
| 970 if [ $(adb_shell su -c getenforce) != "Permissive" ]; then |
| 971 echo "ERROR: Failed to Change Device mode to Permissive" |
| 972 echo "Failure log (use --verbose for more information):" |
| 973 cat $GDBSERVER_LOG |
| 974 exit 1 |
| 975 fi |
| 976 else |
| 977 echo "Failure log (use --verbose for more information):" |
| 978 cat $GDBSERVER_LOG |
| 979 exit 1 |
| 980 fi |
| 970 fi | 981 fi |
| 971 | 982 |
| 972 # Generate a file containing useful GDB initialization commands | 983 # Generate a file containing useful GDB initialization commands |
| 973 readonly COMMANDS=$TMPDIR/gdb.init | 984 readonly COMMANDS=$TMPDIR/gdb.init |
| 974 log "Generating GDB initialization commands file: $COMMANDS" | 985 log "Generating GDB initialization commands file: $COMMANDS" |
| 975 echo -n "" > $COMMANDS | 986 echo -n "" > $COMMANDS |
| 976 echo "file $TMPDIR/$GDBEXEC" >> $COMMANDS | 987 echo "file $TMPDIR/$GDBEXEC" >> $COMMANDS |
| 977 echo "directory $CHROMIUM_SRC" >> $COMMANDS | 988 echo "directory $CHROMIUM_SRC" >> $COMMANDS |
| 978 echo "set solib-absolute-prefix $PULL_LIBS_DIR" >> $COMMANDS | 989 echo "set solib-absolute-prefix $PULL_LIBS_DIR" >> $COMMANDS |
| 979 echo "set solib-search-path $SOLIB_DIRS:$PULL_LIBS_DIR:$SYMBOL_DIR" \ | 990 echo "set solib-search-path $SOLIB_DIRS:$PULL_LIBS_DIR:$SYMBOL_DIR" \ |
| 980 >> $COMMANDS | 991 >> $COMMANDS |
| 981 echo "echo Attaching and reading symbols, this may take a while.." \ | 992 echo "echo Attaching and reading symbols, this may take a while.." \ |
| 982 >> $COMMANDS | 993 >> $COMMANDS |
| 983 echo "target remote :$HOST_PORT" >> $COMMANDS | 994 echo "target remote :$HOST_PORT" >> $COMMANDS |
| 984 | 995 |
| 985 if [ "$GDBINIT" ]; then | 996 if [ "$GDBINIT" ]; then |
| 986 cat "$GDBINIT" >> $COMMANDS | 997 cat "$GDBINIT" >> $COMMANDS |
| 987 fi | 998 fi |
| 988 | 999 |
| 989 if [ "$VERBOSE" -gt 0 ]; then | 1000 if [ "$VERBOSE" -gt 0 ]; then |
| 990 echo "### START $COMMANDS" | 1001 echo "### START $COMMANDS" |
| 991 cat $COMMANDS | 1002 cat $COMMANDS |
| 992 echo "### END $COMMANDS" | 1003 echo "### END $COMMANDS" |
| 993 fi | 1004 fi |
| 994 | 1005 |
| 995 log "Launching gdb client: $GDB $GDB_ARGS -x $COMMANDS" | 1006 log "Launching gdb client: $GDB $GDB_ARGS -x $COMMANDS" |
| 996 $GDB $GDB_ARGS -x $COMMANDS && | 1007 $GDB $GDB_ARGS -x $COMMANDS && |
| 997 rm -f "$GDBSERVER_PIDFILE" | 1008 rm -f "$GDBSERVER_PIDFILE" |
| OLD | NEW |