Mobile/Fennec/Android/GDB

From MozillaWiki
< Mobile‎ | Fennec‎ | Android
Revision as of 04:24, 6 September 2011 by Nchen (talk | contribs)
Jump to navigation Jump to search

Prebuilt binaries

moz-gdb-1.tar.bz2

Run 'git pull' inside the utils directory to get the latest GDB utilities.

GDB utilities

A set of tools to make Fennec development on Android easier.

Source and documentation.

Building custom gdb

Building gdb

Linux

Get required packages:

sudo apt-get install bison flex libncurses5-dev texinfo python2.7-dev

Get source:

git clone git://github.com/darchons/android-gdb.git

Run configure and make:

mkdir android-gdb-objdir
cd android-gdb-objdir
export prefix=/nonexistent
../android-gdb/configure --target=arm-elf-linux --with-python=yes --prefix=$prefix \
  --with-gdb-datadir=$prefix/utils --with-system-gdbinit=$prefix/utils/gdbinit
make -j4

The gdb binary will be located at android-gdb-objdir/gdb/gdb

Mac OS X

Get required packages:

port install bison flex ncurses texinfo python27

Get source:

git clone git://github.com/darchons/android-gdb.git

Run configure and make:

mkdir android-gdb-objdir
cd android-gdb-objdir
export prefix=/nonexistent
../android-gdb/configure --target=arm-elf-linux --with-python=yes --prefix=$prefix \
  --with-gdb-datadir=$prefix/utils --with-system-gdbinit=$prefix/utils/gdbinit
make -j4

The gdb binary will be located at android-gdb-objdir/gdb/gdb

Building gdbserver

Linux

Make sure NDK toolchain is in PATH:

export PATH=$PATH:/PATH/TO/NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin

Run configure and make for gdbserver:

mkdir android-gdbserver-objdir
cd android-gdbserver-objdir
../android-gdb/gdb/gdbserver/configure --host=arm-linux-androideabi \
  --with-sysroot=/PATH/TO/NDK/platforms/android-9/arch-arm
make -j4

The gdbserver binary will be located at android-gdbserver-objdir/gdbserver.

Install it on your device:

adb push gdbserver /data/local

Mac OS X

Setup a toolchain environment for your build:

/PATH/TO/NDK/build/tools/make-standalone-toolchain.sh --arch=arm --install-dir=android-9-toolchain --platform=android-9

Run configure and make for gdbserver:

mkdir android-gdbserver-objdir
cd android-gdbserver-objdir
export PATH=android-9-toolchain/bin:$PATH
../android-gdb/gdb/gdbserver/configure --host=arm-linux-androideabi
make -j4

The gdbserver binary will be located at android-gdbserver-objdir/gdbserver.

Install it on your device:

adb push gdbserver /data/local