Adobe Air SDK 3.3 Beta 釋出了一些 新的功能 測了一下 USB debugging for AIR iOS 這部分
首先當然是先把 3.3 Beta SDK & Air Player 裝一裝 我測試的程式如下
在發布時選擇發布成 ipa-debug-interpreter 或 ipa-debug 都可以
然後再加上 -listen [連接埠] 長的會像這樣
adt -package -target ipa-debug-interpreter -listen [連接埠] ....
連接埠如果不填 預設是 7936 ((之後會用到))
然後產出 ipa 檔後安裝進 iPhone 並啟動應用程式 應該會看到如下畫面
這時 開始->執行->cmd 跳出MS-DOS命令提示字元視窗 然後切換到放置 3.3 SDK 的目錄下
進到 lib\aot\idb 目錄裡 然後執行 idb -devices 應該會看到如下圖
然後輸入
idb -forward 8765 7936 2
8765 是本機連接埠 亂填一個數字即可 官方建議8000以上
7936 就是剛產生 ipa 時 -listen 的連接埠
2 是裝置的編號
這邊完成後 就切換到3.3 SDK 的目錄下的 bin 目錄 然後執行 fdb -p 8765 開啟 fdb 除錯功能
接下來在 (fdb) 提示列下輸入 r ((開始讀取除錯)) 應該就會看到如下圖
這時就可以開始除錯囉 fdb 除錯說明可以參考 http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ffb.html
這邊測一下設斷點跟打印變數值
首先先設定斷點 語法是
(fdb) break 44
會出現
中斷點 1: 檔案 RTMPPlayer.as,行 44
然後開始執行
(fdb) cont
當進入斷點時畫面會出現
中斷點 1,位於 RTMPPlayer.as:44 的 onClickStage()
44 trace("_currentTime=" + _currentTime);
這時可以執行其他操作 EX打印變數值
(fdb) print _currentTime
會出現
$1 = 0 (0x0)
其他 fdb 的操作就得參考官方說明 我不是很熟... 因為我都是用 FlashDevelop 裡面的 Start Remote Session 來除錯, 但目前找不到方式 讓 FlashDevelop 的除錯去監聽特定的連接埠(7936)...((不知道是不是跟參考資料中 說明最後面有寫到 Currently this feature is not supported on Flash Builder.))
USB 來除錯看起來似乎沒有用原本 WiFi 連結方式除錯方便...
如果都在一個區網裡 建議還是用 WiFi 簡單多了 而且還可以用 FlashDevelop 的除錯方便很多
參考資料 : http://labsdownload.adobe.com/pub/labs/flashplatformruntimes/shared/air3-3_flashplayer11-3_p3_releasenotes.pdf


