2nd
Mon
Adobe AIRでfdbコマンドラインデバッガを利用する
今までtraceでデバッグしてきましたが、一度は使ってみようと思い使ってみました。便利ではありませんが、処理の流れを確かめたいというときはよいと思います。
デバッグの準備:デバッグ用AIRの準備
1つ目のコマンドプロンプト開き、デバッグ用flashを生成します。
1 C:\test_app>amxmlc -debug=true app.mxml
デバッグの準備:fdbコマンドラインデバッガ
2つ目のコマンドプロンプト開きます
1 C:\flex_sdk_3\bin>fdb 2 (fdb) run 3 Player が接続するのを待っています
デバッガーの開始
1つ目のプロンプトで、AIRアプリを実行します
1 C:\test_app>adl app.xml
2つ目のプロンプトでAIRアプリが接続した旨が表示されます
1 (fdb) run 2 Player が接続するのを待っています 3 Player が接続されました。セッションを開始しています。 4 [SWF] app.swf - 1,177,344 バイト (解凍後)
ブレークポイントを設定する
ファイル:app.mxmlの62行目に追加する場合
1 (fdb) b app.mxml:62 2 (fdb) continue 3 SWF ファイルまたはフレームから追加の ActionScri pt コードがロードされました。 4 現在ロードされているすべてのファイルを表示するには、「info files」と入力してくだ 5 さい。 6 ブレークポイント 7 が app.mxml:6 2 の onAppCompl ete() に解決されました
ブレークポイントの確認
1 (fdb) info breakpoints 2 Num Type Disp Enb Address What 3 7 breakpoint keep y 0x00000000 の場所にある onAppCompl ete() 内 app.mxml:6 2
ブレークポイントの削除
continueを発行してブレークポイントが設定できなかった場合など、下記のように削除します
1 (fdb) delete 2 2 (fdb) delte 3 6 3 (fdb) continue
スタックトレースの表示
ブレークポイントで停止した際に下記のコマンドでスタックトレースが表示されます
1 (fdb) bt 2 #0 this = [Object 35225761, class='memoApp'].app/onAppComplete(e=[Object 3 3 7504001, class='mx.events: :AIREvent']) 場所 : app.mxml:6 2 4 #1 EventDispa tcher/disp atchEventF unction() 場所 : app.mxml:0 5 #2 this = [Object 35225761, class='memoApp'].EventDisp atcher/dis patchEvent (_ar 6 g1=[Object 37504001, class='mx.events: :AIREvent']) 場所 : app.mxml:0 7 #3 this = [Object 35225761, class='memoApp'].UICompone nt/dispatc hEvent(event=[ 8 Object 37504001, class='mx.events: :AIREvent']) 場所 : UIComponen t.as:9051 9 #4 this = [Object 35225761, class='memoApp'].WindowedA pplication /enterFram eHan 10 dler(e=[Object 37504289, class='flash.even ts::Event']) 場所 : WindowedAp plicati 11 on.as:2522
Refs
http://liv
http://liv
http://liv
http://www
posted by
satoko
on Mon 2 Jun 2008
at 11:50