我最近加载了新的 Android 开发工具 SDK 20130717 和 NDK r9。
到目前为止,我在我的两个系统(XP 和 W7/64)上都可以在 Eclipse 中工作和调试以前的版本。
现在,带有新工具的 W7/64 在新工具安装和所需路径环境更改后可以正常工作并调试我的应用程序。
当我选择“Debug As”+“Android Native Application”时它工作正常。
然而,XP,虽然它们在文件夹/cygwin 等方面具有确切的配置,但在安装新工具并更改必要的路径 env 之后,它看起来无法启动 ndk-dbg 并且它; 最终陷入等待在“启动 MyApp(1): (100%)”。这发生在我选择“Debug As”+“Android Native Application”之后。
关于可能是什么原因的任何提示?还是我错过了关于 XP 和 r9 调试的任何已知问题?
谢谢,克里斯托斯
*编辑
尝试手动启动ndk-gdb,这就是我得到的,欢迎任何提示
块引用
$ ndk-gdb --start --verbose --force
Android NDK安装路径:/cygdrive/e/android-ndk-r9
使用默认 adb 命令:/cygdrive/e/adt-bundle-windows-x86-20130717/sdk/platform-tools/adb
找到 ADB 版本:Android Debug Bridge 版本 1.0.31
使用亚行标志:
使用 JDB 命令:/cygdrive/e/Android/Java/jdk1.7.0_21/bin/jdb
使用自动检测的项目路径:.
找到的包名:myndkpackage
应用程序针对的 ABI:armeabi-v7a
设备 API 级别:17
设备 CPU ABI:armeabi-v7a armeabi
兼容设备 ABI:armeabi-v7a
使用 gdb 设置初始化:./libs/armeabi-v7a/gdb.setup
使用工具链前缀:/cygdrive/e/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi-
使用应用程序输出目录:./obj/local/armeabi-v7a
找到可调试标志:true
找到设备 gdbserver:/data/data/myndkpackage/lib/gdbserver
找到数据目录:'/data/data/myndkpackage'
找到第一个可启动的活动:myndkpackage.MainActivity
启动活动:myndkpackage/myndkpackage.MainActivity
命令: adb_cmd shell am start -D -n myndkpackage/myndkpackage.MainActivity
开始:意图 { cmp=myndkpackage/.MainActivity }
命令:adb_cmd 外壳睡眠 2
发现运行PID:2787
杀死现有的调试会话
命令: adb_cmd 外壳杀死 -9 2753
成功启动 gdbserver。
设置网络重定向
命令:adb_cmd shell run-as myndkpackage lib/gdbserver +debug-socket --attach 2787
命令:adb_cmd forward tcp:5039 localfilesystem:/data/data/myndkpackage/debug-socket
随附的; PID = 2787
监听 Unix 套接字调试套接字
命令: adb_cmd pull /system/bin/app_process obj/local/armeabi-v7a/app_process
599 KB/s(0.015 秒内 9588 个字节)
从设备/模拟器中提取 app_process。
命令: adb_cmd pull /system/bin/linker obj/local/armeabi-v7a/linker
658 KB/s(0.093s 内 63244 字节)
从设备/模拟器中提取链接器。
命令: adb_cmd pull /system/lib/libc.so obj/local/armeabi-v7a/libc.so
744 KB/s(0.390 秒内 297608 字节)
从设备/模拟器中提取 libc.so。
设置 JDB 连接
命令:adb_cmd 转发 tcp:65534 jdwp:2787
java.io.IOException:握手失败 - 连接提前关闭
在 com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:136)
在 com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:232)
在 com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116)
在 com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:90)
在 com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519)
在 com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328)
在 com.sun.tools.example.debug.tty.Env.init(Env.java:63)
在 com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066)
致命错误:
无法附加到目标 VM。
/cygdrive/e/android-ndk-r9/ndk-gdb:第 742 行:4636 分段错误 $GDBCLIENT -x
native_path $GDBSETUP
块引用