Flash Builder、Flash Professional、Dreamweaver などの IDE を使用してアプリケーションを開発する場合、通常、デバッグツールが組み込まれています。アプリケーションをデバッグするには、デバッグモードで起動するだけです。デバッグを直接サポートする IDE を使用していない場合、AIR Debug Launcher(ADL)と Flash Debugger(FDB)を使用してアプリケーションのデバッグをサポートできます。
ADL によるアプリケーションの実行
ADL を使用すると、パッケージ化とインストールを行わずに、AIR アプリケーションを実行できます。次の例では、アプリケーション記述ファイルをパラメーターとして ADL に渡しています(最初にアプリケーションの ActionScript コードをコンパイルする必要があります)。
adl myApplication-app.xml
ADL によって、トレースステートメント、実行時の例外および HTML 解析エラーが端末ウィンドウに出力されます。FDB プロセスが着信接続を待機している場合、ADL はデバッガーに接続します。
ADL を使用して、ネイティブ拡張を使用する AIR アプリケーションをデバッグすることもできます。次に、例を示します。
adl -extdir extensionDirs myApplication-app.xml
トレースステートメントの出力
ADL の実行に使用するコンソールにトレースステートメントを出力するには、
trace()
関数を使用して、トレースステートメントをコードに追加します。
注意:
trace()
ステートメントがコンソール上に表示されない場合は、mm.cfg ファイルで
ErrorRep rtingEnable
または
TraceOutputFileEnable
を指定していないことを確認してください。このファイルのプラットフォーム別の場所について詳しくは、
Editing the mm.cfg file
を参照してください。
ActionScript の例:
//ActionScript
trace("debug message");
JavaScript の例:
//JavaScript
air.trace("debug message");
JavaScript コードで
alert()
および
confirm()
関数を使用すると、アプリケーションからのデバッグメッセージを表示できます。また、シンタックスエラーがある場所の行番号や、キャッチされない JavaScript 例外もコンソールに出力されます。
注意:
JavaScript の例のように air 接頭辞を使用するには、ページに AIRAliases.js ファイルを読み込む必要があります。このファイルは、AIR SDK の frameworks ディレクトリにあります。
Flash デバッガー(FDB)への接続
Flash デバッガーを使用して AIR アプリケーションをデバッグするには、FDB セッションを開始してから ADL でアプリケーションを起動します。
注意:
SWF ベースの AIR アプリケーションでは、ActionScript ソースファイルのコンパイル時に
-debug
フラグを指定する必要があります(Flash Professional の場合は、パブリッシュ設定ダイアログボックスの「デバッグを許可」オプションを確認してください)。
-
FDB を開始します。FDB プログラムは、Flex SDK の
bin
ディレクトリにあります。
コンソールに、FDB プロンプトの
<fdb>
が表示されます。
-
run
コマンドを
<fdb>run [Enter]
のようにして実行します。
-
別のコマンドまたはシェルコンソールで、アプリケーションのデバッグバージョンを開始します。
adl myApp.xml
-
FDB コマンドを使用して、必要に応じてブレークポイントを設定します。
-
continue [Enter]
のように入力します。
SWF ベースの AIR アプリケーションの場合は、ActionScript コードの実行だけがデバッガーによって制御されます。HTML ベースの AIR アプリケーションの場合は、JavaScript コードの実行だけがデバッガーによって制御されます。
デバッガーに接続せずに ADL を実行するには、
-nodebug
オプションを含めます。
FDB コマンドの基本情報を表示するには、
help
コマンドを実行します。
<fdb>help [Enter]
FDB コマンドについて詳しくは、Flex ドキュメントの「
コマンドラインデバッガーコマンドの使用
」を参照してください。
|
|
|