无法将ndk-gdb附加到android进程

时间:2013-09-07 00:33:36

标签: android android-ndk ndk-gdb

我在Android应用程序 - 主应用程序进程和远程服务进程中有两个进程。 本机库是从远程服务进程加载的。

我想调试本机库代码。 该应用程序是可调试的。本机库是使用ndk-build从Windows命令行构建的。在Android.mk中,-g -ggdb标志用于此库。 我正在从cygwin运行ndk-gdb。

测试设备:运行Android 4.2.2的Galaxy Nexus

错误行:加载共享库时出错:?:无法打开共享对象文件:没有这样的文件或目录

在详细信息中,我看到gdbserver正在尝试附加到主应用程序进程的进程ID。从这个应用程序中的远程进程加载库是否重要。

详细的ndk-gdb运行信息 -     $ ndk-gdb --verbose --force
    Android NDK安装路径:/ cygdrive / c / work / android / ndk / android-ndk-r9-windows-x86 / android-ndk-r9
    使用默认的adb命令:/ cygdrive / c / work / android / sdk / android-sdk_r10-windows / android-sdk-windows / platform-tools / adb
    发现ADB版本:Android Debug Bridge版本1.0.31
    使用ADB标志:
    使用JDB命令:/ cygdrive / c / program files(x86)/java/jdk1.6.0_25/bin/jdb
    使用自动检测的项目路径:。
    找到包名:[application-pkg-name]
    申请目标ABIs:armeabi
    设备API级别:17
    设备CPU ABIs:armeabi-v7a armeabi
    兼容设备ABI:armeabi
    使用gdb setup init:./ libs / armeabi / gdb.setup
    使用工具链前缀:/cygdrive/c/work/android/ndk/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux -androideabi-
    使用app out目录:./ obj / local / armeabi
    找到可调试标志:真实     找到设备gdbserver:/ data / data / [applcation-pkg-name] / lib / gdbserver
    找到数据目录:'/ data / data / [applcation-pkg-name]'
    发现运行PID:17890
    成功启动了gdbserver     设置网络重定向
    ##命令:adb_cmd shell run-as [applcation-pkg-name] lib / gdbserver + debug-socket --attach 17890
    ##命令:adb_cmd forward tcp:5039 localfilesystem:/ data / data / [applcation-pkg-name] / debug-socket     附; pid = 17890 [评论:此pid用于主要申请流程]
    听取Unix套接字调试套接字
    ##命令:adb_cmd pull / system / bin / app_process obj / local / armeabi / app_process
    493 KB / s(9519字节,0.019秒)
    从设备/模拟器中拉出app_process     ##命令:adb_cmd pull / system / bin / linker obj / local / armeabi / linker
    1165 KB / s(40353字节,0.053秒)
    从设备/仿真器中拉出链接器     ##命令:adb_cmd pull /system/lib/libc.so obj / local / armeabi / libc.so
    2442 KB / s(在0.119s中为297608字节)
    从设备/仿真器中拉出libc.so     /cygdrive/c/work/android/ndk/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi-gdb .exe:加载共享库时出错:?:无法打开共享对象文件:没有这样的文件或目录

一些可能有用的旁注 - 1)如果我在没有--force的情况下运行ndk-gdb命令,则会出现另一个调试会话正在运行的错误。虽然gdb提示在上次运行期间出现了。 2)在Android 4.3上,使用相同的应用程序和设置,我收到“无法提取包的数据目录”的错误

0 个答案:

没有答案