Mac に Debug版 Flash の trace ログを(ファイルに)吐かせるようにする
trace ログをファイルに吐かせたいのです
なぜか。
なぜなら、AS3 + vim で開発をするにあたり、rascut が必要不可欠。そして、 rascut を起動させているコンソールに trace で吐いた文字列を出力する為には「trace でログに出力」→「ログから rascut コンソールに出力」というルートを作ってあげる必要があるからだ。
ちなみに、rascut についてはActionScript やるなら入れとけ。rascut 導入と使い方。 - てっく煮ブログを参照のこと。
まずはデバッグ版 Flash をインストールする
Adobe Flash Player - Downloadsここから、おれの場合 Intel 版 Mac なので
Download the Macintosh Flash Player 10 Plugin content debugger (Intel-based Macs) (ZIP, 6.03 MB)
をクリックして DL した。
ちなみに、Intel版かどうかは Mac のリンゴメニューから「この Mac について」を選択して、プロセッサの欄を見ると良いよ。Intel の人は Intel って書いてあるから。
DL後はそのまま、言われるがままにインストールを行う。
Debug 出力用設定を記載する
たぶん、この設定をしてあげないとログファイルには吐けないと思うので。
下記のファイルを作成する(おそらく、ディレクトリ構成はあっても mm.cfg は無いはず)。
/Library/Application Support/Macromedia/mm.cfg
そして、以下の内容を記載する
ErrorReportingEnable=1
TraceOutputFileEnable=1
また、以下のディレクトリを、なければ作成しておく
Users/xxxxxxx/Library/Preferences/Macromedia/Flash\ Player/Logs/
当たり前だけど、 xxxxxxx の部分は自分のユーザ名にすること。
適当な trace 文を記載して、ログが出る事を確認する
面倒なので(すぐソースを書けないので)ソースは省略。とりあえず、一発 trace 分が出力されるプログラムを動かしたとしよう。
そうしたら、以下のファイルを確認し、ログが出ている事を見る。
Users/xxxxxxx/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt
ここまで出来たら
rascut に引数を渡してあげればコンソールにも trace 分が出力されるようになります。
例えば、以下のような引数にすると良いのではないでしょうか。
ascut test.as -s --log=Users/xxxxxxx/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt
おれは毎回 rascut ファイル名を打つのだけでも苦行に感じるので、適当なシェルを書いている。
こんな感じ
#!/bin/sh LOG=/Users/xxxxxxx/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt rascut test.as -s --log=${LOG}
追記(2009/06/08)
すみません。上記の例だとうまくログを出力できていませんでした。
おそらく、LOG変数にいれた場合のスペースの取り扱いがうまく行ってなかったみたい。
なので、面倒なので以下のように修正した
#!/bin/sh rascut MimeDecoder.as -s --log=/Users/sugamasao/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt
これでいい感じに trace を確認できるようになった。やったね!