本文来自 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
哦了,进入调试 过程吧 :)