透過網路連線使用 FDB 遠端除錯

若要使用命令列 Flash Debugger (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 位址,應用程式便會使用該位址嘗試自動連線)。輸入適當的位址並輕點「確定」。

    為了在此模式連線除錯程式,裝置必須能夠解析位址或主機名稱,並連線 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