Depuración remota con FDB a través de USB

AIR 2.6 (Android) AIR 3.3 (iOS)

Para depurar una aplicación a través de una conexión USB, debe empaquetar la aplicación con la opción -listen y no con -connect. Si se especifica la opción ‑listen, el motor de ejecución detecta una conexión de Flash Debugger (FDB) en el puerto TCP 793 cuando se inicia la aplicación. A continuación, ejecuta FDB con la opción -p y FDB inicia la conexión.

Procedimiento de depuración a través de USB para Android

Para que el depurador de Flash que se ejecuta en el equipo de escritorio se pueda conectar al motor de ejecución de AIR que se ejecuta en el dispositivo o emulador, se debe usar Android Debug Bridge (ADB - la utilidad del SDK de Android) o iOS Debug Bridge (IDB - la utilidad del SDK de AIR) para reenviar el puerto del dispositivo al puerto de escritorio.

  1. Abra una ventana del símbolo del sistema o terminal y examine el directorio que contiene el código de origen para la aplicación.

  2. Compile la aplicación con amxmlc, activando la depuración:

    amxmlc -debug DebugExample.as
  3. Empaquete la aplicación con el destino de depuración adecuado (por ejemplo, apk-debug) y especifique la opción -listen:

    adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
  4. Conecte el dispositivo al equipo de depuración con cable USB. (Este procedimiento también se puede utilizar para depurar una aplicación que se ejecute en un emulador, en cuyo caso, una conexión USB no será necesaria ni posible.)

  5. Instale la aplicación.

    Se puede usar el comando -installApp de ADT:

    adt -installApp -platform android -package DebugExample.apk
  6. Reenvíe el puerto TCP 7936 desde el dispositivo o emulador al equipo de escritorio con la utilidad Android ADB:

    adb forward tcp:7936 tcp:7936
  7. Inicie la aplicación en el dispositivo.

  8. En una ventana de comandos o terminal, ejecute FDB utilizado la opción -p:

    fdb -p 7936
  9. En la ventana de FDB, escriba el comando run:

    Adobe fdb (Flash Player Debugger) [build 14159] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. La utilidad FDB intentará conectarse con la aplicación.

  11. Cuando se establece la conexión remota, los puntos de corte se pueden establecer con el comando break de FDB y después iniciar la ejecución con el comando 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
Nota: el puerto número 7936 se utiliza como predeterminado para la depuración con USB por el motor de ejecución de AIR y FDB. Es posible especificar diferentes puertos para utilizar con el parámetro del puerto -listen de ADT y el parámetro del puerto -p de FDB. En este caso, se debe utilizar la utilidad Android Debug Bridge para reenviar el número de puerto especificado en ADT al puerto especificado en FDB: adb forward tcp:adt_listen_port# tcp:fdb_port#

Procedimiento de depuración a través de USB para iOS

Para que el depurador de Flash que se ejecuta en el equipo de escritorio se pueda conectar al motor de ejecución de AIR que se ejecuta en el dispositivo o emulador, se debe usar la utilidad iOS Debug Bridge (IDB, la utilidad del SDK de AIR) reenviar el puerto del dispositivo al puerto de escritorio.

  1. Abra una ventana del símbolo del sistema o terminal y examine el directorio que contiene el código de origen para la aplicación.

  2. Compile la aplicación con amxmlc, activando la depuración:

    amxmlc -debug DebugExample.as
  3. Empaquete la aplicación con el destino de depuración adecuado (por ejemplo ipa-debug o ipa-debug-interpreter) y especifique la opción -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. Conecte el dispositivo al equipo de depuración con cable USB. (Este procedimiento también se puede utilizar para depurar una aplicación que se ejecute en un emulador, en cuyo caso, una conexión USB no será necesaria ni posible.)

  5. Instalación y arranque de la aplicación en el dispositivo iOS. En AIR 3.4 y posterior, puede utilizar adt -installApp para instalar la aplicación a través de USB.

  6. Determine el dispositivo con el comando idb -devices (IDB se encuentra en air_sdk_root/lib/aot/bin/iOSBin/idb):

    ./idb -devices 
    
                                        List of attached devices 
                                        Handle    UUID 
                                            1     91770d8381d12644df91fbcee1c5bbdacb735500
    Nota: (AIR 3.4 y posterior) Puede utilizar adt -devices en lugar de idb -devices para determinar el control del dispositivo.
  7. Redirija un puerto del escritorio al puerto especificado en el parámetro adt -listen (en este caso, 16000; el valor predeterminado es 7936) con la utilidad IDB y el ID de dispositivo encontrado en el paso anterior:

    idb -forward 7936 16000 1

    En este ejemplo, 7936 es el puerto de escritorio, 16000 es el puerto que detecta el dispositivo conectado y 1 es el ID de dispositivo del dispositivo conectado.

  8. En una ventana de comandos o terminal, ejecute FDB utilizado la opción -p:

    fdb -p 7936
  9. En la ventana de FDB, escriba el comando run:

    Adobe fdb (Flash Player Debugger) [build 23201] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. La utilidad FDB intentará conectarse con la aplicación.

  11. Cuando se establece la conexión remota, los puntos de corte se pueden establecer con el comando break de FDB y después iniciar la ejecución con el comando continue:

Nota: el puerto número 7936 se utiliza como predeterminado para la depuración con USB por el motor de ejecución de AIR y FDB. Es posible especificar diferentes puertos para utilizar con el parámetro del puerto -listen de IDB y el parámetro del puerto -p de FDB.