Mobile/Fennec/Android/GDB: Difference between revisions
No edit summary |
|||
Line 7: | Line 7: | ||
Run 'git pull' inside the utils directory to get the latest GDB utilities. | Run 'git pull' inside the utils directory to get the latest GDB utilities. | ||
== GDB utilities == | === GDB utilities === | ||
A set of tools to make Fennec development on Android easier. | A set of tools to make Fennec development on Android easier. | ||
Line 13: | Line 13: | ||
[http://github.com/darchons/android-gdbutils Source and documentation]. | [http://github.com/darchons/android-gdbutils Source and documentation]. | ||
== Building | == Building moz-gdb == | ||
=== Building gdb === | === Building gdb === | ||
Line 90: | Line 90: | ||
adb push gdbserver /data/local | 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 |
Revision as of 01:11, 15 September 2011
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