デスクトップ AIR アプリケーションのデバッグ

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 の場合は、パブリッシュ設定ダイアログボックスの「デバッグを許可」オプションを確認してください)。
  1. FDB を開始します。FDB プログラムは、Flex SDK の bin ディレクトリにあります。

    コンソールに、FDB プロンプトの <fdb> が表示されます。

  2. run コマンドを <fdb>run [Enter] のようにして実行します。

  3. 別のコマンドまたはシェルコンソールで、アプリケーションのデバッグバージョンを開始します。

    adl myApp.xml
  4. FDB コマンドを使用して、必要に応じてブレークポイントを設定します。

  5. continue [Enter] のように入力します。

SWF ベースの AIR アプリケーションの場合は、ActionScript コードの実行だけがデバッガーによって制御されます。HTML ベースの AIR アプリケーションの場合は、JavaScript コードの実行だけがデバッガーによって制御されます。

デバッガーに接続せずに ADL を実行するには、-nodebug オプションを含めます。

adl myApp.xml -nodebug

FDB コマンドの基本情報を表示するには、help コマンドを実行します。

<fdb>help [Enter]

FDB コマンドについて詳しくは、Flex ドキュメントの「コマンドラインデバッガーコマンドの使用」を参照してください。