【发布时间】:2013-12-10 21:34:04
【问题描述】:
我需要调试一个已经安装在手机上的安卓应用程序。我能够在调试模式下启动应用程序,但我无法连接到使用 JDWP 的进程。我尝试了两种不同的方法,但都失败了。 (见下文)
命令行尝试
1- 启动应用程序
[...]sdk\platform-tools>adb -d shell am start -D -n "package/package.SomeActivity"
应用程序启动并显示一个警报“/!\Waiting for debugger”。
2- 打开一个 JDWP 端口
[...]sdk\platform-tools>adb forward tcp:8000 jdwp:7602
3- 尝试使用 jdb 连接
[...]sdk\platform-tools>jdb -attach 127.0.0.1:8000
java.io.IOException: shmemBase_attach failed:
at com.sun.tools.jdi.SharedMemoryTransportService.attach0(Native Method)
at com.sun.tools.jdi.SharedMemoryTransportService.attach(SharedMemoryTransportService.java:108)
at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116)
at com.sun.tools.jdi.SharedMemoryAttachingConnector.attach(SharedMemoryAttachingConnector.java:63)
at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519)
at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328)
at com.sun.tools.example.debug.tty.Env.init(Env.java:63)
at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066)
Fatal error:
Unable to attach to target VM.
IntelliJ 尝试
我已将本地项目配置为启动默认 Activity 并取消选中“部署应用程序”。
我也让应用程序启动时出现相同的警报,但不幸的是 IDE 没有连接到远程进程。
Target device: 42f7cc14e2acbfab
Launching application: ********/********.SomeActivity.
DEVICE SHELL COMMAND: am start -D -n "********/********.SomeActivity"
Starting: Intent { cmp=********/********.SomeActivity }
Waiting for process: ********
【问题讨论】: