SequoyahとAndroid nativeプロジェクトとgdb

Sequoyah plug-in(シクウォイア)を使えばeclipse上でnativeの管理が簡単になりそうである。
Eclipse Indigo(3.7)では以下のサイトが参考になった。 Ubuntu 11.4+eclipse3.7で動作確認できた。

 Windows+cygwin+eclipse IndigoにSequoyahをインストールする例
 http://www.permadi.com/blog/2011/09/setting-up-android-jni-projects-in-windows-eclipse-and-sequoyah/

eclipse Sequoyah wiki
http://wiki.eclipse.org/Sequoyah

eclipse native debug
http://www.eclipse.org/sequoyah/documentation/native_debug.php

eclipse native debugの補足
実際、ボクが試しのはndk-r6bとeclipse3.7+Android3.1実機(Toshiba)。 実は微妙に設定が異なるので注意が必要(Ubuntu11.4で検証)
Debug Configurationsの記述中
GDB debuggerは
ndkのルート/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb
GDB command fileは
プロジェクトローカル/obj/local/armeabi/gdb2.setup
これは存在しないファイルですが、効率よくするためにこの名前を使う。 後でgdb.setupをrenameする。

Conclusion:
ndkのデバッカ起動は非常に面倒であるが、gdbのuiモードが日本語表示非対応なため、eclipse上でdebug出来るのは非常に助かる(変数の文字列は読めないことがあるがソースのコメントが読める)。  とはいえndkも対応になったADTがあれば、こんな手間はいらないのだが。

PS.1
Samsung Galaxy Tab10.1(Android3.1/Google I/O Limited)はndk-gdb(起動できない)でdebugすることが出来なかったが、ここの方法ではnativeをdebugすることが可能だった。
PS.2
Ubuntu11.10にUpdateするとpython2.6のsoが異なるため、 gdbをカスタマイズで7.xにしていた場合、 libpython2.6.so.1.0:wrong ELF class:ELFCLASS64なととエラーが表示されることがある。 この場合は再コンパイルする必要があるかもしれない (11-10-27 追記)


コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

How to preview nif file on the ubuntu.