Mobile/Fennec/Android/GDB

From MozillaWiki
< Mobile‎ | Fennec‎ | Android
Revision as of 17:05, 3 September 2011 by Ehsan (talk | contribs)
Jump to navigation Jump to search

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

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