Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将ndk gdb附加到android进程_Android_Android Ndk_Ndk Gdb - Fatal编程技术网

无法将ndk gdb附加到android进程

无法将ndk gdb附加到android进程,android,android-ndk,ndk-gdb,Android,Android Ndk,Ndk Gdb,我在Android应用程序中有两个进程——主应用程序进程和远程服务进程。 本机库是从远程服务进程加载的 我想调试本机库代码。 该应用程序是可调试的。本机库是使用ndk build从Windows命令行生成的。在Android.mk中,该库使用了-g-ggdb标志。 我在cygwin运行ndk gdb 测试设备:运行Android 4.2.2的Galaxy Nexus 错误行:加载共享库时出错:?:无法打开共享对象文件:没有这样的文件或目录 在详细信息中,我看到gdbserver正在尝试附加到主应

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

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

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

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

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

详细的ndk gdb运行信息- $ndk gdb--详细--强制
Android NDK安装路径:/cygdrive/c/work/Android/NDK/Android-NDK-r9-windows-x86/Android-NDK-r9
使用默认adb命令:/cygdrive/c/work/android/sdk/android-sdk\u r10-windows/android-sdk-windows/platform-tools/adb
找到ADB版本:Android调试桥版本1.0.31
使用ADB标志:
使用JDB命令:/cygdrive/c/program files(x86)/java/jdk1.6.0_25/bin/JDB
使用自动检测到的项目路径:。
找到包名称:[应用程序包名称]
应用程序针对的ABI: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/toolschains/arm-linux-androideabi-4.6/prebuild/windows/bin/arm-linux-androideabi-
使用应用程序输出目录:./obj/local/armeabi
找到可调试标志:true
找到设备gdbserver:/data/data/[application pkg name]/lib/gdbserver
找到数据目录:'/data/data/[application pkg name]'
发现正在运行的PID:17890
已成功启动gdbserver。
设置网络重定向
##命令:adb_cmd shell作为[application pkg name]lib/gdbserver+debug socket运行--附加17890
##命令:adb_cmd forward tcp:5039 localfilesystem:/data/data/[application pkg name]/debug socket 附属的;pid=17890[注释:此pid用于主应用程序流程]
侦听Unix套接字调试套接字
##命令:adb_cmd pull/system/bin/app_process obj/local/armeabi/app_process
493kb/s(0.019s中9592字节)
从设备/模拟器中拉取应用程序进程。
##命令:adb_cmd pull/system/bin/linker obj/local/armeabi/linker
1165 KB/s(0.053s中的63244字节)
从设备/仿真器中拉出链接器。
##命令: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/toolschains/arm-linux-androideabi-4.6/prebuild/windows/bin/arm-linux-androideabi-gdb.exe:加载共享库时出错:?:无法打开共享对象文件:没有此类文件或目录

一些可能有用的旁注-
1) 如果我在不使用--force的情况下运行ndk gdb命令,它会给出另一个调试会话正在运行的错误消息。尽管gdb提示符在上次运行时出现。 2) 在Android 4.3上,使用相同的应用程序和设置,我得到一个错误,即“无法提取软件包的数据目录”

是否与此相关: