Remote-Debugging mit FDB über USB

AIR 2.6 (Android) AIR 3.3 (iOS)

Um eine App über eine USB-Verbindung zu debuggen, komprimieren Sie die Anwendung mit der -listen -Option anstelle der -connect -Option. Wenn Sie die -listen -Option angeben, wartet die Laufzeitumgebung beim Starten der Anwendung auf eine Verbindung vom Flash Debugger (FDB) an TCP-Port 7936. Danach führen Sie den FDB mit der Option -p aus und der FDB stellt die Verbindung her.

USB-Debugging für Android

Damit der Flash Debugger, der auf dem Desktopcomputer ausgeführt wird, eine Verbindung zur AIR-Laufzeitumgebung, die auf dem Gerät oder Emulator ausgeführt wird, herstellen kann, müssen Sie die Android Debug Bridge (ADB - Utility aus dem Android SDK) oder die iOS Debug Bridge (IDB - Utility aus dem AIR SDK) verwenden, um den Geräte-Port an den Desktop-Port weiterzuleiten.

  1. Öffnen Sie ein Terminalfenster oder eine Befehlszeile und navigieren Sie zum Verzeichnis, das den Quellcode der Anwendung enthält.

  2. Kompilieren Sie die Anwendung mit amxmlc und aktivieren Sie dabei das Debugging:

    amxmlc -debug DebugExample.as
  3. Verpacken Sie die Anwendung mit dem passenden Debugziel (zum Beispiel apk-debug ) und geben Sie die Option -listen an:

    adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
  4. Verbinden Sie das Gerät über ein USB-Kabel mit dem Debugcomputer. (Sie können auf diese Art auch eine Anwendung debuggen, die auf einem Emulator ausgeführt wird. In diesem Fall ist die USB-Verbindung nicht erforderlich – und auch nicht möglich.)

  5. Installieren Sie die Anwendung.

    Sie können den ADT-Befehl -installApp verwenden:

    adt -installApp -platform android -package DebugExample.apk
  6. Leiten Sie den TCP-Port 7936 vom Gerät oder Emulator mithilfe des Android ADB-Utilitys an den Desktopcomputer weiter:

    adb forward tcp:7936 tcp:7936
  7. Starten Sie die Anwendung auf dem Gerät.

  8. Führen Sie in einem Terminal- oder Befehlszeilenfenster FDB unter Verwendung der -p-Option aus:

    fdb -p 7936
  9. Geben Sie im FDB-Fenster den Befehl run ein:

    Adobe fdb (Flash Player Debugger) [build 14159] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. Ds FDB-Utility versucht, eine Verbindung zur Anwendung herzustellen.

  11. Nachdem die Remoteverbindung hergestellt wurde, können Sie mit dem FDB-Befehl break Haltepunkte festlegen und dann mit dem continue -Befehl die Ausführung starten:

    (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
Hinweis: Beim Debuggen über USB wird standardmäßig Port 7936 sowohl für die AIR-Laufzeitumgebung als auch für FDB verwendet. Mit dem ADT-Port-Parameter „listen“ und dem FDB-Port-Parameter „-p“ können Sie andere Ports angeben. In diesem Fall müssen Sie die in ADT angegebene Portnummer mit dem Android Debug Bridge-Utility an den in FDB angegebene Port weiterleiten: adb forward tcp:adt_listen_port# tcp:fdb_port#

USB-Debugging für iOS

Damit der Flash Debugger, der auf dem Desktopcomputer ausgeführt wird, eine Verbindung zur AIR-Laufzeitumgebung, die auf dem Gerät oder Emulator ausgeführt wird, herstellen kann, müssen Sie die iOS Debug Bridge (IDB - Utility aus dem AIR SDK) verwenden, um den Geräte-Port an den Desktop-Port weiterzuleiten.

  1. Öffnen Sie ein Terminalfenster oder eine Befehlszeile und navigieren Sie zum Verzeichnis, das den Quellcode der Anwendung enthält.

  2. Kompilieren Sie die Anwendung mit amxmlc und aktivieren Sie dabei das Debugging:

    amxmlc -debug DebugExample.as
  3. Verpacken Sie die Anwendung mit dem passenden Debugziel (zum Beispiel ipa-debug oder ipa-debug-interpreter ) und geben Sie die Option -listen an:

    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. Verbinden Sie das Gerät über ein USB-Kabel mit dem Debugcomputer. (Sie können auf diese Art auch eine Anwendung debuggen, die auf einem Emulator ausgeführt wird. In diesem Fall ist die USB-Verbindung nicht erforderlich – und auch nicht möglich.)

  5. Installieren und starten Sie die Anwendung auf einem iOS-Gerät. In AIR 3.4 und höheren Versionen können Sie adt ‑installApp verwenden, um die Anwendung über USB zu installieren.

  6. Bestimmen Sie den Gerätehandle mit dem IDB-Befehl -devices (die IDB befindet sich in air_sdk_root /lib/aot/bin/iOSBin/idb ):

    ./idb -devices 
    
                                        List of attached devices 
                                        Handle    UUID 
                                            1     91770d8381d12644df91fbcee1c5bbdacb735500
    Hinweis: (AIR 3.4 und höher) Sie können adt ‑devices statt idb ‑devices verwenden, um den Gerätehandle zu bestimmen.
  7. Leiten Sie einen Port von Ihrem Desktop an den im ADT-Parameter -listen angegebenen Port weiter (in diesem Fall 16000; die Standardvorgabe ist 7936), indem Sie das IDB-Utility und die im vorherigen Schritt ermittelte Geräte-ID verwenden:

    idb -forward 7936 16000 1

    In diesem Beispiel ist 7936 der Desktopport, 16000 ist der Port, an dem das verbundene Gerät wartet, und 1 ist die Geräte-ID des verbundenen Geräts.

  8. Führen Sie in einem Terminal- oder Befehlszeilenfenster FDB unter Verwendung der -p-Option aus:

    fdb -p 7936
  9. Geben Sie im FDB-Fenster den Befehl run ein:

    Adobe fdb (Flash Player Debugger) [build 23201] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. Ds FDB-Utility versucht, eine Verbindung zur Anwendung herzustellen.

  11. Nachdem die Remoteverbindung hergestellt wurde, können Sie mit dem FDB-Befehl break Haltepunkte festlegen und dann mit dem continue -Befehl die Ausführung starten:

Hinweis: Beim Debuggen über USB wird standardmäßig Port 7936 sowohl für die AIR-Laufzeitumgebung als auch für FDB verwendet. Mit dem IDB-Port-Parameter „listen“ und dem FDB-Port-Parameter „-p“ können Sie andere Ports angeben.