设备上的每个可调试VM都与ADB建立连接.DDMS与ADB交谈以获取VM列表,然后使用ADB与它们进行通信.
DDMS侦听每个VM的单独TCP端口,因此您可以"直接"连接到设备上的任何VM.此外,为方便起见,它侦听端口8700,并将那里的任何连接路由到当前在UI中选择的任何VM.您可以使用Eclipse,IntelliJ,jdb,jswat等"调试远程VM"连接到该端口.
连接后,JDWP协议定义用于通信的基本数据包格式(即数据包类型和长度如何编码).DDMS扩展了JDWP,为其目的定义了一种新的数据包格式.DDMS消息和调试器消息可以交错.
这里真的没有两种选择.调试器与DDMS通信,DDMS与ADB通信,ADB与VM通信.调试器和VM说JDWP,DDMS扩展了一点,因此它可以共享相同的通信通道.
最初的DDMS设计文档可以在dalvik文档中找到.这有点过时了(并且由于某种原因,用斜体格式化)但基本细节没有改变.
| 归档时间: |
|
| 查看次数: |
3802 次 |
| 最近记录: |