Каждый отладочная VM на устройстве есть соединение с АБР. DDMS ведет переговоры с АБР о получении списка виртуальных машин, а затем использует ADB для общения с ними.
DDMS прослушивает отдельный TCP-порт для каждой виртуальной машины, поэтому вы можете «напрямую» подключиться к любой виртуальной машине на устройстве. Кроме того, в качестве удобства он прослушивает порт 8700 и направляет любое соединение там, в зависимости от того, какая из ВМ выбрана в настоящее время в пользовательском интерфейсе. Вы можете подключиться к этому порту с помощью «отладки удаленной виртуальной машины» с помощью Eclipse, IntelliJ, jdb, jswat, что угодно.
После подключения протокол JDWP определяет базовый формат пакета, используемый для связи (то есть, как кодируются типы и длина пакетов). DDMS расширяет JDWP, определяя новый формат пакета для своих целей. Сообщения DDMS и сообщения отладчика могут чередоваться.
Здесь действительно нет двух вариантов. Отладчик ведет переговоры с DDMS, DDMS ведет переговоры с АБР, а АБР ведет переговоры с VM. Отладчик и VM говорят JDWP, а DDMS немного расширяет его, чтобы он мог использовать один и тот же канал связи.
Оригинальный документ-документ DDMS можно найти в dalvik docs. Это немного датировано (и по какой-то причине отформатировано курсивом), но существенные детали не изменились.