Adobe® Flex™ アプリケーションのデバッグは trace() ステートメントを有効にするだけで済む場合もありますが、アプリケーションのソースファイルにステップインして、コードを 1 行ずつ実行するという複雑な作業を伴う場合もあります。Adobe® Flex™ Builder™ デバッガと fdb コマンドラインデバッガを使用して、Flex アプリケーションで使用される ActionScript ファイルを処理し、デバッグすることができます。
Flex アプリケーションをデバッグするには、デバッグ SWF ファイルを生成する必要があります。デバッグ SWF ファイルは、デバッグ情報が保存されている SWF ファイルです。その後、fdb を、デバッグ SWF ファイルを実行するデバッガ版の Adobe® Flash® Player に接続します。
このデバッガは、Flash Player を実行するアプリケーションとやり取りするエージェントです。これは、ローカルソケット接続でアプリケーションに接続します。このため、ウイルス対策ソフトウェアがソケット接続をブロックしている場合は、ソケット接続を使用するにはウイルス対策ソフトウェアを無効にしなければならない場合があります。デバッガはこの接続を使用して SWF ファイルの情報をコマンドラインに転送し、ブレークポイントの追加、変数の調査、および一般的なデバッグタスクを実施できるようにします。アプリケーションへの接続時にデバッガが経由するポートは 7935 です。このポートは変更できません。
このトピックでは、fdb コマンドラインデバッガの使用方法について説明します。Flex Builder デバッガを使用するには、『Adobe Flex Builder 3 ユーザーガイド』のアプリケーションの実行とデバッグを参照してください。いずれのデバッガを使用する場合も、デバッガ版の Flash Player をインストールし、設定する必要があります。実行している Flash Player(デバッガ版またはスタンダード版)を判断するには、プレーヤーで任意の Flex アプリケーションを起動し、マウスボタンを右クリックします。デバッガ版の Flash Player を実行している場合は、「再描画領域を表示」オプションが表示されます。デバッガ版の Flash Player の詳細と、実行中のプレーヤーの検出方法については、デバッガ版の Flash Player の使用を参照してください。
fdb コマンドラインデバッガは、flex_install_dir/bin ディレクトリにあります。fdb を開始するには、コマンドプロンプトを開き、このディレクトリに移動し、「fdb」と入力します。
使用可能なコマンドの説明については、次のコマンドを使用してください。
(fdb) help
fdb デバッガの概要については、次のコマンドを使用してください。
(fdb) tutorial
Flex アプリケーションをデバッグするには、最初にデバッグ SWF ファイルを生成する必要があります。デバッグ SWF ファイルは、他のアプリケーション SWF ファイルに似ていますが、デバッグ固有の情報が含まれているという点で異なります。このデバッグ固有の情報は、デバッガとデバッガ版の Flash Player によって、デバッグセッション中に使用されます。デバッグ SWF ファイルは、デバッグ以外の SWF ファイルよりもサイズが大きくなります。したがって、このファイルを生成するのはこのファイルでデバッグする場合のみにしてください。
mxmlc コマンドラインコンパイラでデバッグ SWF ファイルを生成するには、コマンドラインまたは flex-config.xml ファイルで debug オプションを true に設定します。次の例では、コマンドラインで debug オプションを true に設定します。
mxmlc -debug=true myApp.mxml
Flex Builder は、デフォルトでは、プロジェクトの /bin-debug ディレクトリにデバッグ SWF ファイルを生成します。Flex Builder で非デバッグ SWF ファイルを生成するには、リリースビルドの書き出し機能を使用します。この機能は、非デバッグ SWF ファイルを、プロジェクトの /bin-release ディレクトリに生成します。プロジェクトのプロパティの「追加のコンパイラ引数」フィールドで、debug コンパイラオプションを手動で false に設定します。
Apache および IIS 用の Flex モジュールに備えられている Web 層コンパイラを使用してデバッグ SWF ファイルを生成するには、debug コンパイラオプションを true に設定するか、クエリ文字列の最後に debug=true を付加します。
http://www.yourdomain.com/MyApp.mxml?debug=true
詳細については、デバッグコンパイラの呼び出しを参照してください。
コマンドラインデバッガは、ActionScript レベルのデバッグだけをサポートしています。Flash タイムラインの概念はサポートされません。デバッガは、MXML タグのスクリプトコード内部へのブレークポイントの追加もサポートしていません。ブレークポイントは、MXML タグについて定義されたイベントハンドラ上で設定できます。
Flash Player はサーバーとやり取りすることがあります。デバッガは、アプリケーションのサーバーサイド部分をデバッグする上では役立ちません。また Flash Player とサーバー間の IP トランザクションの検証もサポートしません。
簡単なキー操作を使用して、fdb デバッガ内からコマンドを開くことができます。例えば、print コマンドを呼び出す場合は、p で始まるコマンドがこれ以外にないので、p と入力することができます。
Web ブラウザでアプリケーションをデバッグする場合、fdb はデフォルトのブラウザでプレーヤーを開きます。デフォルトのブラウザは、アプリケーションを指定せずに Web 固有のファイルを開いたときに起動するブラウザです。このブラウザにはデバッガ版の Flash Player もインストールしている必要があります。デバッガ版の Flash Player がない場合、Flash Player が必ずしもすべての fdb コマンドをサポートしているわけではないことを示すエラーメッセージが表示されます。
コンピュータに最初にインストールしたブラウザがデフォルトのブラウザとは限りません。例えば、Microsoft Internet Explorer をインストールした後に別の Web ブラウザをインストールすると、Internet Explorer がデフォルトのブラウザではなくなる場合があります。
http://www.adobe.com
デフォルトのブラウザが表示されるか、要求に対応するよう設定されているアプリケーションがないことを示すエラーメッセージが表示されます。
Internet Explorer 6.x をデフォルトのブラウザとして設定する
次に Internet Explorer を起動したときに、デフォルトのブラウザにするように求めるメッセージが Internet Explorer に表示されます。メッセージが表示されない場合は、Internet Explorer は既にデフォルトのブラウザになっています。
次に FireFox を起動したときに、デフォルトのブラウザにするように求めるメッセージが FireFox に表示されます。メッセージが表示されない場合は、FireFox は既にデフォルトのブラウザです。
各アプリケーションは、任意の数の ActionScript ファイルを持つことができます。fdb がステップインするファイルの一部は外部クラスファイルで、Flex コンパイラで生成されたファイルもあります。
通常は、ルート MXML ファイル内の <mx:Script> ブロックで使用される ActionScript ステートメントが含まれたファイルが 1 つと、アプリケーションで使用される各 ActionScript クラスファイルにつき 1 つの追加ファイルが生成されます。Flex は多くのソースファイルを生成するので、アプリケーションをデバッガ内部からナビゲートできます。
デバッグ中のアプリケーションで使用されるファイルのリストは、info files コマンドで確認できます。詳細については、ステータスの取得を参照してください。
生成された ActionScript クラスファイルはコンパイル単位として参照されることもあります。コンパイル単位の詳細については、インクリメンタルコンパイルについてを参照してください。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート