Mobile/Fennec/Android/GDB
Prebuilt binaries
Linux
moz-gdb.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 moz-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 --enable-targets=all --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
Set up moz-gdb directory
GDB utilities assume the following moz-gdb directory structure:
./bin/ gdb gdbserver ./utils/ gdbinit python/
The following commands will set up the directories and pull in GDB utilities:
mkdir -p moz-gdb/bin cp android-gdb-objdir/gdb/gdb moz-gdb/bin cp android-gdbserver-objdir/gdbserver moz-gdb/bin git clone git://github.com/darchons/android-gdbutils.git moz-gdb/utils