通过 USB 使用 FDB 进行远程调试
AIR 2.6 (Android) AIR 3.3 (iOS)
若要通过 USB 连接调试应用程序,您应使用
‑listen
选项而不是
-connect
选项打包应用程序。指定
‑listen
选项后,当您启动应用程序时,运行时会侦听 TCP 端口 7936 上来自 Flash 调试器 (FDB) 的连接。然后您使用
-p
选项运行 FDB,而 FDB 会启动连接。
Android 的 USB 调试步骤
为了让在桌面计算机上运行的 Flash 调试器连接到在设备或模拟器上运行的 AIR 运行时,您必须使用从 Android SDK 中获取的实用工具 Android Debug Bridge (ADB) 将设备端口转发到桌面端口。
-
打开终端或命令提示窗口并导航到包含应用程序源代码的目录。
-
使用 amxmlc 编译应用程序,从而能够进行调试:
amxmlc -debug DebugExample.as
-
使用相应的调试目标(如
apk-debug
)打包应用程序,并指定
‑listen
选项:
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
使用 USB 电缆将设备连接到调试计算机。(您还可以使用此过程调试在模拟器中运行的应用程序,在这种情况下,USB 连接就是不必要的 — 或不可能的。)
-
安装应用程序。
您可以使用 ADT
-installApp
命令:
adt -installApp -platform android -package DebugExample.apk
-
使用 Android ADB 实用程序将 TCP 端口 7936 从设备或模拟器转发到计算机:
adb forward tcp:7936 tcp:7936
-
在设备上启动应用程序。
-
在一个终端或命令窗口中使用 -p 选项运行 FDB:
fdb -p 7936
-
在 FDB 窗口中,键入
run
命令:
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
FDB 实用程序尝试连接到该应用程序。
-
当建立远程连接时,您可以使用 FDB
break
命令设置断点,然后使用
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
注:
端口号 7936 用作默认端口,可以供 AIR 运行时和 FDB 进行 USB 调试。您可以使用 ADT -listen 端口参数和 FDB -p 端口参数指定不同的端口。在这种情况下,您必须使用 Android Debug Bridge 实用程序将 ADT 中指定的端口号转发到 FDB 中指定的端口:
adb forward tcp:adt_listen_port# tcp:fdb_port#
iOS 的 USB 调试步骤
为了让在桌面计算机上运行的 Flash 调试器连接到在设备或模拟器上运行的 AIR 运行时,您必须使用从 AIR SDK 中获取的实用工具 iOS Debug Bridge (IDB) 将设备端口转发到桌面计算机端口。
-
打开终端或命令提示窗口并导航到包含应用程序源代码的目录。
-
使用 amxmlc 编译应用程序,从而能够进行调试:
amxmlc -debug DebugExample.as
-
使用相应的调试目标(如
ipa-debug
或
ipa-debug-interpreter
)打包应用程序,并指定
‑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
-
使用 USB 电缆将设备连接到调试计算机。(您还可以使用此过程调试在模拟器中运行的应用程序,在这种情况下,USB 连接就是不必要的 — 或不可能的。)
-
在 iOS 设备上安装和启动应用程序。在 AIR 3.4 以及更高版本中。可以使用
adt ‑installApp
通过 USB 安装应用程序。
-
通过使用
idb -devices
命令(IDB 位于
air_sdk_root
/lib/aot/bin/iOSBin/idb
中)确定设备句柄:
./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500
注:
(AIR 3.4 以及更高版本)可以使用
adt ‑devices
代替
idb ‑devices
来确定设备句柄。
-
使用 IDB 实用工具以及前面步骤中找到的设备 ID,将桌面计算机上的端口转发到
adt ‑listen
参数中指定的端口(在此例中为 16000;默认为 7936):
idb -forward 7936 16000 1
在此示例中,7936 是桌面计算机端口,16000 是连接设备侦听到的端口,1 是连接设备的设备 ID。
-
在一个终端或命令窗口中使用 -p 选项运行 FDB:
fdb -p 7936
-
在 FDB 窗口中,键入
run
命令:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
FDB 实用程序尝试连接到该应用程序。
-
当建立远程连接时,您可以使用 FDB
break
命令设置断点,然后使用
continue
命令开始执行:
注:
端口号 7936 用作默认端口,可以供 AIR 运行时和 FDB 进行 USB 调试。您可以使用 IDB -listen 端口参数和 FDB -p 端口参数指定不同的端口。
|
|
|