简体   繁体   中英

Debugging native libraries for Android OS

I am to create a shared library for Android OS. Although I have done some Android apps in Eclipse I decided to start my native development with Visual Studio and vs-Android add-on:

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

I am really familiar with VS and Google found that add-on as one of the first results. I have gone through the whole setup procedure, installed JDK, NDK, Ant, set system variables and finally got a working project. It works like a charm! But there is a BIG drawback. I am not able to debug the native code.

I know there is NDK-GDB tool, but I am constantly failing when trying to setup it. I have read NDK-GDB.html document, threw away the initial vs-Android solution and successfully gone through the following tutorial:

http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/

but now I am stuck again when trying to go through the:

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/

I also tried WinGDB - just imported working Eclipse project containing both native and Java code, but it doesn't even compile.

In short, there are many pieces of the puzzle, but I am still missing some of them. I am afraid that I am missing the whole idea of debugging code with a command line tool like NDK-GDB is.

Can someone provide me some explanation and clear steps how to debug native libraries (doesn't matter if with vs-android or Eclipse or whatever else)? Please be aware I am not a Linux guru and also not familiar with cygwin or gdbserver.

The steps I take to be able to debug using ndk-gdb

To build

Set the -g compiler flag in jnk/Android.mk to build the gdb-server

LOCAL_CFLAGS := -g

Build the native lib for debugging NDK_DEBUG=1

ndk-build NDK_DEBUG=1

Set the application debuggable in the manifest.

android:debuggable=true

Open cygwin and cd to the project path. Set the path to adb.

export PATH=$PATH:/path_to_android_sdk/platform-tools

And then start gdb

ndk-gdb --verbose --adb=adb.exe

You will have to type continue when you have connected to the gdb-server

这里有一个关于使用Visual Studio调试vs-android项目的分步教程: http//visualgdb.com/tutorials/android/vs-android/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM