1. 24 Nov, 2011 1 commit
    • David 'Digit' Turner's avatar
      Fix the use of $@ in all shell scripts · ec2b8dda
      David 'Digit' Turner authored
      This patch allows all our development scripts, as well as ndk-gdb
      to work well when parameters containing spaces are used.
      
      The $@ shell variable is very special because it will expand
      differently if inside a quoted string. What this means is that,
      while $@ normally corresponds to the list of all parameters to
      a function or script, we have:
      
        $@   -> expands to a single string
        "$@" -> expands to a series of strings
      
      This is important when using them as parameters to other commands
      for example consider:
      
        # Simple function to dump all parameters, one per line.
        dump () {
           for ITEM; do
              echo "$ITEM"
           done
        }
      
        dump1 () {   # this will always print a single line
            dump $@
        }
      
        dump2 () {   # this will print one line per item
            dump "$@"
        }
      
        dump1 aaa bbb ccc      # prints "aaa bbb ccc" on a single line
        dump2 aaa bbb ccc      # prints three lines: "aaa", "bbb" and "ccc"
      
      Generally speaking, one should always use "$@" except in very rare cases
      (e.g. when called from an eval command).
      
      Change-Id: I87ec2a7b078cbe463f0ec0257ecad8fd38835b2e
      ec2b8dda
  2. 27 Oct, 2011 1 commit
    • David 'Digit' Turner's avatar
      ndk-gdb: Fix debugging of private services · 9c10d882
      David 'Digit' Turner authored
      This patch fixes ndk-gdb so it can properly debug an application
      that has private services. These will appear in the 'ps' output
      as <package-name>:<service-name>, and the way the extract-pid.awk
      script worked, were matched against <package-name> incorrectly.
      
      + Make extrac-pid.awk usable when custom ROM use a Busybox 'ps'
        instead of the standard Android toolbox version
      
      + Add unit test for extract-pid.awk
      
      Change-Id: Ifb38d5bdfd5b648ff468cb3642db3bb64297707d
      9c10d882
  3. 24 Mar, 2011 1 commit
    • David 'Digit' Turner's avatar
      ndk-gdb: Fixes for Darwin and --project option · b2e3ee77
      David 'Digit' Turner authored
      This patch contains several fixes for ndk-gdb:
      
      - Allow it to run properly on Darwin, where 'mktemp' will return an
        error if used without parameters. Note that 'mktemp -t <pattern>'
        does not work the same on Linux and Darwin, so use an invocation
        that is supported by all host platforms (Cygwin included).
      
      - Ensure that ANDROID_NDK_ROOT is defined as an absolute path,
        to avoid problems when the script is invoked as in:
      
            cd $NDKROOT
            ./ndk-gdb --project=/path/to/project/
      
      - The _adb_var_shell redirection was buggy and created files named
        "&1" and "&2" in the current directory for no good reason.
      
      Fix for bug 4156117
      
      Change-Id: I8dbd29bd33db808289755055a6ff5c9ccd181bfc
      b2e3ee77
  4. 16 Mar, 2011 1 commit
  5. 18 Oct, 2010 1 commit
    • David 'Digit' Turner's avatar
      ndk-gdb: Fix windows invokation · caf06194
      David 'Digit' Turner authored
      This also simplifies the gdb client invokation by putting
      the "file" command inside the gdb.setup file, instead of
      using the command-line.
      
      Change-Id: Iaa31dd2afaada8552db0b72baca91ecd16d6ff95
      caf06194
  6. 07 Oct, 2010 1 commit
    • David 'Digit' Turner's avatar
      Fix ndk-gdb and add --delay=<seconds> option. · 5b65625a
      David 'Digit' Turner authored
      Fix ndk-gdb to _not_ start the activity unless --start or --launch is used.
      
      Add a new option --delay=<seconds> to change the wait delay between the
      launch of an activity and its attachement with gdbserver. The default delay
      is also changed from 1 to 2 seconds.
      
      Document the system libraries update.
      
      Change-Id: Ia7e8c47221e3741bdc2688e750dae366c5426e67
      5b65625a
  7. 14 Sep, 2010 1 commit
    • David 'Digit' Turner's avatar
      Add easy native debugging support through NDK_DEBUG=1 · fd204377
      David 'Digit' Turner authored
      "ndk-build NDK_DEBUG=1" will force the build of a debuggable application.
      This really copies gdbserver to the proper location, as if android:debuggable
      was set to "true" in the app's manifest.
      
      The value of NDK_DEBUG can be 0, 1, true or false, and will override the content
      of the manifest. The main benefit from this change is that you don't have to
      edit your manifest file just to rebuilt
      
      Change-Id: I3fafb620189ac53a72b492c963832dd0c7f8b7d7
      fd204377
  8. 07 Jun, 2010 1 commit
  9. 04 Jun, 2010 1 commit
  10. 01 Jun, 2010 1 commit
  11. 06 May, 2010 1 commit
  12. 29 Apr, 2010 1 commit
    • David 'Digit' Turner's avatar
      Add --start, --launch=<name> and --launch-list options to ndk-gdb. · 0b2676ba
      David 'Digit' Turner authored
      Move all awk scripts to build/awk/ and rework them a bit
      
      Add build/awk/xmlparser.awk to parse XML files into something that
      is easier to process with awk. Its output is used by several
      scripts now (extract-debuggable.awk, extract-package-name.awk and
      the new extract-launchable.awk).
      
      Also update documentation.
      
      Change-Id: I50507abbb2b438aeea25a4e0521e6bf69ad86603
      0b2676ba
  13. 26 Apr, 2010 1 commit
    • David 'Digit' Turner's avatar
      Add ndk-gdb script to the NDK. · a08d6057
      David 'Digit' Turner authored
      This is a helper script used to launch a native debugging session.
      To use it, follow these steps:
      
      1. Make your application debuggable
      2. Build the machine code with 'ndk-build'  (make APP=<name> is not supported)
      3. Build the package with ant or the ADT Eclipse plugin
      4. Install it on your device/emulator
      5. Launch it
      6. Run 'ndk-gdb' from your application project directory.
      
      Change-Id: Ie3b0557e70cefa0080075a34ad0ca46bebef3c42
      NOTE: To work properly, a modified gdbserver binary must be used
            (one that binds to Unix sockets instead of TCP ones). Patch
            upcoming.
      a08d6057