通过网络连接使用 FDB进行远程调试

若要使用命令行 Flash Debugger (FDB) 调试在设备上运行的应用程序,请首先在您的开发计算机上运行调试器,然后在设备上启动应用程序。下列过程使用 AMXMLC、FDB 和 ADT 工具在设备上进行应用程序的编译、打包和调试。这些示例假设您组合使用 Flex 和 AIR SDK,并且 bin 目录包括在您的路径环境变量中。(此项假设仅仅是为了简化命令示例。)

  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