Flex SDKのmxmlcコンパイラで作成するswfには、デバッグ情報を埋め込むことができます。デバッグ情報を埋め込んだswfは、デバッグ用のFLASHプレイヤーで実行すると、任意の文字列を出力する「trace()」機能が利用できるようになるので、効率的なデバッグが可能になるでしょう。

デバッグ機能を利用する場合は、mxmlcでコンパイルする際に「-debug=true」というオプションを追加します。たとえば、test.asというソースからswfファイルを作成するなら

mxmlc -debug=true test.as

とするわけです。

こうして作成したデバッグ用のFLASHは、デバッグ用のFLASHプレイヤーfdb.exeで実行すると、trace()による出力機能を利用できます。

試しに、適当な場所に

trace("test");

などという文字列出力用のコードを入れ、-debug=trueオプションを追加してコンパイルしたswfを作成してみてください。

続いて

fdb swfファイル

としてfdbを起動してみましょう。fdbは、mxmlcと同じくFlex SDKのbinディレクトリにあります。パスを通してあれば、ファイル名のみで起動できるはずです。

最初は停止状態になっているので、「continue」と入力して開始します。

trace()による文字列出力部分が実行されると、fdbを起動したシェル(コマンドライン)に文字列が表示されるはずです。mm.cfgという設定ファイルを作成すれば、指定の場所にログファイルを作成することもできるので、大量のデバッグ文字列を出力したいときはログファイルを利用するのも良いでしょう。

セキュリティやオブジェクト周りのエラーで止まるときは、怪しそうな部分をtry~catch()文で囲んでエラーを補足し、trace()でエラーオブジェクトを出力してみましょう。エラーメッセージが出力され、原因を把握しやすくなります。


創作プログラミングの街 > Flex(FLASH/AIR)実験室