我要为Android OS创建一个共享库。虽然我在Eclipse中完成了一些Android应用程序,但我决定使用Visual Studio和vs-Android插件开始我的本机开发:
http://code.google.com/p/vs-android/
我非常熟悉VS和谷歌发现附加组件作为第一个结果之一。我已经完成了整个设置过程,安装了JDK,NDK,Ant,设置了系统变量,最后得到了一个工作项目。它就像一个魅力!但是有一个很大的缺点。我无法调试本机代码。我知道有NDK-GDB工具,但在尝试设置时我经常失败。我已经阅读了NDK-GDB.html文档,丢弃了最初的vs-Android解决方案并成功完成了以下教程:
http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/
但现在我在尝试通过:
时再次陷入困境http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-debugging/
http://mhandroid.wordpress.com/2011/01/23/using-cgdb-with-ndk-debug-and-cgdb-tutorial/
我也尝试过WinGDB - 刚刚导入的包含本机代码和Java代码的工作Eclipse项目,但它甚至都没有编译。
简而言之,这个谜题有很多部分,但我仍然缺少其中的一部分。我担心我错过了使用像NDK-GDB这样的命令行工具调试代码的整个想法。
有人可以为我提供一些解释和明确的步骤如何调试本机库(如果使用vs-android或Eclipse或其他什么都无关紧要)?请注意,我不是Linux大师,也不熟悉cygwin或gdbserver。
答案 0 :(得分:13)
我可以使用ndk-gdb
构建
在jnk / Android.mk中设置-g
编译器标志以构建gdb-server
LOCAL_CFLAGS := -g
构建本机lib以进行调试NDK_DEBUG=1
ndk-build NDK_DEBUG=1
在清单中设置应用程序可调试。
android:debuggable=true
打开cygwin并cd到项目路径。设置adb的路径。
export PATH=$PATH:/path_to_android_sdk/platform-tools
然后启动gdb
ndk-gdb --verbose --adb=adb.exe
连接到gdb-server时必须输入continue
答案 1 :(得分:1)
这里有一个关于使用Visual Studio调试vs-android项目的分步教程:http://visualgdb.com/tutorials/android/vs-android/