调试Android OS的本机库

我将为 Android OS创建一个共享库.虽然我已经在Eclipse中完成了一些Android应用程序,但我决定使用Visual Studio和vs-Android附加组件开始我的本机开发:

http://code.google.com/p/vs-android/

我对VS非常熟悉并且Google发现附加组件是最早的结果之一.我已经完成了整个设置过程,安装了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.

解决方法

我采取的步骤,以便能够使用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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...