GDB 调试 android 本地 c/c++ 程序

本文来自 csdn ucser,    http://blog.csdn.net/perfectpdl   转载注明出处,谢谢.


有一段时间没弄Android了,整理一下,把之前 用GDB调试 Android jni程序过程共享一下:


Android 应用层为JAVA语言,但有时需要C/C++实现一些特定功能,比如视频编解码,此时需要借助JAVA的JNI技术,用JAVA语言调用c/C++程序,

而C/C++程序库 调试通常用GDB,不例外,Android 平台也提供了调试 JNI的功能,步骤如下:


1.  把 android:debuggable="true" 设置到  AndroidManifest.xml  文件的 <application> 标签,

2. NDK-BUILD 执行编译动态库时时 后面带上 NDK_DEBUG=1

3.  Application.mk 文件中 添加 APP_OPTIM := debug 

4. 启动Android设备上的 gdb server : gdbserver :5055 --attach PID

    参数为监听端口 5055, 要调试进程号  PID,

5. 在 宿主机上 执行 adb forward tcp:5055 tcp:5055

    连接到GDB  server.

6. 启动客户端 GBD :

arm-linux-androideabi-gdb

7. 设置库路径:

set solib-search-path obj/local/armeabi/libMySharedLib.so

 target remote :5055


哦了,进入调试 过程吧 :)


你可能感兴趣的:(GDB 调试 android 本地 c/c++ 程序)