GDB 调试 android 本地 c/c++ 程序
2013-04-25 00:14
501 查看
本文来自 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. 把
文件的
2. NDK-BUILD 执行编译动态库时时 后面带上 NDK_DEBUG=1
3. Application.mk
文件中 添加
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
哦了,进入调试
过程吧 :)
有一段时间没弄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
哦了,进入调试
过程吧 :)
相关文章推荐
- 如何使用arm-eabi-gdb调试android c/c++程序
- 使用gdb和gdbserver调试Android C/C++程序
- 用 Eclipse + GDB调试Android中C/C++程序
- adb gdb 调试android C/C++程序
- 用android自带的gdb与gdbserver调试native C/C++程序
- 使用GDB调试Android中的C/C++程序
- 用GDB调试Android中C/C++程序(命令行)
- 如何使用arm-eabi-gdb调试android c/c++程序
- 如何使用arm-eabi-gdb调试android c/c++程序
- 如何使用arm-eabi-gdb调试android c/c++程序
- android中c/c++程序的调试(eclipse)
- android中c/c++程序的调试(eclipse)
- 从头构建android 本地C++语言可执行程序
- linux下如何用GDB调试c++程序
- linux下如何用GDB调试c++程序
- Android中c/c++程序的调试(eclipse)
- 【Linux】GDB 调试 C++ 程序 core dump
- android中使用gdbserver调试c程序
- android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
- linux下如何用GDB调试c++程序