FDB によるネットワーク接続経由のリモートデバッグ

コマンドライン Flash デバッガー(FDB)を使用して、リモートデバイス上で実行するアプリケーションをデバッグするには、まず、開発コンピューター上でデバッガーを実行してから、デバイス上でアプリケーションを開始します。以下の手順では、AMXMLC、FDB、ADT ツールを使用して、デバイス上のアプリケーションのコンパイル、パッケージ化およびデバッグを実行します。この例は、Flex と共に AIR SDK を使用し、bin ディレクトリを PATH 環境変数に含めることを前提としています(この前提は、コマンド例を単純化するためのものです)。

  1. ターミナルまたはコマンドプロンプトウィンドウを開いて、アプリケーションのソースコードを含むディレクトリに移動します。

  2. デバッグを有効にして、amxmlc でアプリケーションをコンパイルします。

    amxmlc -debug DebugExample.as
  3. apk-debug ターゲットまたは ipa-debug ターゲットを使用してアプリケーションをパッケージ化します。

    Android 
                                        adt -package -target apk-debug -connect -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf 
    
                                        iOS 
                                        adt -package -target ipa-debug -connect -storetype pkcs12 -keystore ../../AppleDeveloperCert.p12 -provisioning-profile test.mobileprovision DebugExample.apk DebugExample-app.xml DebugExample.swf

    常に同じホスト名または IP アドレスを使用する場合、その値を -connect フラグの後に指定できます。アプリケーションは、その IP アドレスまたはホスト名への接続を自動的に試行します。または、デバッグを開始するたびに、接続情報をデバイス上で指定します。

  4. アプリケーションをインストールします。

    Android では、ADT -installApp コマンドを使用できます。

    adt -installApp -platform android -package DebugExample.apk

    iOS では、ADT -installApp コマンドまたは iTunes を使用してアプリケーションをインストールできます。

  5. 別のターミナルまたはコマンドウィンドウで FDB を実行します。

    fdb
  6. FDB ウィンドウで、 run コマンドを入力します。

    Adobe fdb (Flash Player Debugger) [build 14159] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run 
                                        Waiting for Player to connect
  7. デバイス上でアプリケーションを起動します。

  8. デバイスまたはエミュレーター上でアプリケーションが起動すると、Adobe AIR 接続ダイアログが開きます(アプリケーションをパッケージ化するときに -connect オプションを使用してホスト名または IP アドレスを指定した場合、自動的にその値を使用して接続が試行されます)。適切なアドレスを入力して、「OK」をタップします。

    このモードでデバッガーに接続するには、デバイスが、アドレスまたはホスト名を解決し、TCP ポート 7935 にアクセスできる必要があります。ネットワーク接続が必要です。

  9. リモートランタイムがデバッガーに接続するとき、ブレークポイントを FDB の break コマンドで設定して、 continue コマンドで実行を開始できます。

    (fdb) run 
                                        Waiting for Player to connect 
                                        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