透過 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 Debug Bridge (ADB,Android SDK 中的公用程式) 或 iOS Debug Bridge (IDB,AIR SDK 中的公用程式),將裝置連接埠轉送至桌上型電腦連接埠。
-
開啟終端機或命令提示視窗,移至包含應用程式原始碼的目錄。
-
使用 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
備註:
AIR 執行階段與 FDB 皆使用連接埠號碼 7936 作為 USB 除錯的預設連接埠。您可以使用 ADT -listen 連接埠參數與 FDB -p 連接埠參數,指定使用不同的連接埠。在此狀況下,您必須使用 Android Debug Bridge 公用程式,將 ADT 中指定的連接埠號碼轉送至 FDB 中指定的連接埠:
adb forward tcp:adt_listen_port# tcp:fdb_port#
適用於 iOS 的 USB 除錯程序
為了讓桌上型電腦上執行的 Flash 除錯程式,可以連線裝置或模擬器上執行的 AIR 執行階段,您必須使用 iOS Debug Bridge (IDB,AIR SDK 中的公用程式),將裝置連接埠轉送至桌上型電腦連接埠。
-
開啟終端機或命令提示視窗,移至包含應用程式原始碼的目錄。
-
使用 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
命令開始執行:
備註:
AIR 執行階段與 FDB 皆使用連接埠號碼 7936 作為 USB 除錯的預設連接埠。您可以使用 IDB -listen 連接埠參數與 FDB -p 連接埠參數,指定使用不同的連接埠。
|
|
|