Удаленная отладка с помощью FDB через USB

AIR 2.6 (Android) AIR 3.3 (iOS)

Для отладки приложения через USB-подключение создавать его пакет следует с помощью параметра ‑listen вместо параметра -connect. Если указан параметр ‑listen, при запуске приложения среда выполнения прослушивает соединение с отладчиком Flash Debugger (FDB) через TCP-порт 7936. Затем следует запустить отладчик FDB с параметром -p, чтобы он инициировал подключение.

Процедура отладки USB-подключений для Android

Для того чтобы отладчик Flash Debugger, запущенный на настольном компьютере, мог подключиться к среде выполнения AIR, запущенной на устройстве или в эмуляторе, необходимо использовать утилиту Android Debug Bridge (ADB) из Android SDK или утилиту iOS Debug Bridge (IDB) из набора AIR SDK, чтобы перенаправить порт устройства на порт настольного компьютера.

  1. Откройте окно терминала или интерфейс командной строки и перейдите в каталог, в котором находится исходный код приложения.

  2. Скомпилируйте приложение с помощью amxmlc, включив поддержку отладки:

    amxmlc -debug DebugExample.as
  3. Создайте пакет приложения, установив соответствующую цель отладки (например, apk-debug), и укажите параметр ‑listen:

    adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
  4. Подключите устройств для отладки к компьютеру с помощью USB-кабеля (данную процедуру также можно использовать для отладки приложений, запущенных в эмуляторе, и в этом случае USB-соединение устанавливать необязательно, и установить его невозможно).

  5. Установка приложения.

    Используйте команду ADT -installApp:

    adt -installApp -platform android -package DebugExample.apk
  6. С помощью утилиты Android ADB перенаправьте TCP-порт 7936 с устройства или эмулятора на настольный компьютер:

    adb forward tcp:7936 tcp:7936
  7. Запуск приложения на устройстве.

  8. В окне терминала или командной строке запустите FDB с параметром -p:

    fdb -p 7936
  9. В окне FDB введите команду run:

    Adobe fdb (Flash Player Debugger) [build 14159] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. Утилита FDB попытается подключиться к приложению.

  11. После установки подключения можно настроить точки остановки с помощью команды FDB break, а затем запустить выполнение с помощью команды continue:

    (fdb) run 
                                        Player connected; session starting. 
                                        Set breakpoints and then type 'continue' to resume the session. 
                                        [SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after decompression 
                                        (fdb) break clickHandler 
                                        Breakpoint 1 at 0x5993: file DebugExample.as, line 14 
                                        (fdb) continue
Примечание. Порт 7936 используется по умолчанию для отладки по USB средой выполнения AIR и утилитой FDB. С помощью параметра ADB -listen и параметра FDB -p можно указать другой порт. В этом случае следует использовать утилиту Android Debug Bridge, чтобы перенаправить порт, указанный в ADT, на порт, указанный в FDB: adb forward tcp:adt_listen_port# tcp:fdb_port#

Процедура отладки USB-подключений для iOS

Для того чтобы отладчик Flash Debugger, запущенный на настольном компьютере, мог подключиться к среде выполнения AIR, запущенной на устройстве или в эмуляторе, необходимо использовать утилиту iOS Debug Bridge (IDB) из набора AIR SDK, чтобы перенаправить порт устройства на порт настольного компьютера.

  1. Откройте окно терминала или интерфейс командной строки и перейдите в каталог, в котором находится исходный код приложения.

  2. Скомпилируйте приложение с помощью amxmlc, включив поддержку отладки:

    amxmlc -debug DebugExample.as
  3. Создайте пакет приложения, установив соответствующую цель отладки (например, ipa-debug или ipa-debug-interpreter), и укажите параметр ‑listen:

    adt -package -target ipa-debug-interpreter -listen 16000 
                                        xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12  
                                        -storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
  4. Подключите устройств для отладки к компьютеру с помощью USB-кабеля (данную процедуру также можно использовать для отладки приложений, запущенных в эмуляторе, и в этом случае USB-соединение устанавливать необязательно, и установить его невозможно).

  5. Установите и запустите приложение на устройстве iOS. В AIR 3.4 и более поздних версий можно использовать команду adt ‑installApp для установки приложения через USB.

  6. Определите дескриптор устройства с помощью команды idb -devices (утилита IDB находится в папке air_sdk_root/lib/aot/bin/iOSBin/idb):

    ./idb -devices 
    
                                        List of attached devices 
                                        Handle    UUID 
                                            1     91770d8381d12644df91fbcee1c5bbdacb735500
    Примечание. (AIR 3.4 и более поздних версий) Для определения дескриптора устройства можно использовать команду adt ‑devices вместо команды idb ‑devices.
  7. Направьте трафик порта компьютера на порт, указанный в параметре adt ‑listen (в этом случае — 16000; значение по умолчанию — 7936), с помощью утилиты IDB и идентификатора устройства, определенного на предыдущем этапе:

    idb -forward 7936 16000 1

    В этом примере 7936 — это порт ПК, 16000 — порт, который прослушивает подключенное устройство, а 1 — идентификатор подключенного устройства.

  8. В окне терминала или командной строке запустите FDB с параметром -p:

    fdb -p 7936
  9. В окне FDB введите команду run:

    Adobe fdb (Flash Player Debugger) [build 23201] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. Утилита FDB попытается подключиться к приложению.

  11. После установки подключения можно настроить точки остановки с помощью команды FDB break, а затем запустить выполнение с помощью команды continue:

Примечание. Порт 7936 используется по умолчанию для отладки по USB средой выполнения AIR и утилитой FDB. С помощью параметра IDB -listen и параметра FDB -p можно указать другой порт.