Debuggerの使い方
出典: FDT.jp
目次 |
Debuggerとは?
FDT Enterprise 以上から使用できる swf をデバッグするためのものです。
実行中に追加できる breakpoint やステップ実行、エラー時にどのコードで止まっているかなど詳しく出力してくれるので、大規模な開発だけでなく小規模な場合でもデバッグ時にすごく役に立つと思います。
起動方法
Run Confugurationの作成方法や設定の説明はfcshとの連携をご覧下さい。
Run Configurationの設定でコンパイル後はswfを再生する状態にしないとデバッグができません。
- 作成済みのRunConfigurationをRun > Debug Historyから起動すると swf がデバッグ可能な状況で書き出されます。
- swfがFlash Playerやブラウザで表示されます。
- Debug Perspective に切り替えます。
※Flex SDK が必要なので Core Library は必ず Flex SDK にして下さい。
Debug Perspectiveの説明
Debug
Debuggerの状態や現在どのクラスファイルのどの関数で停止しているかなどの情報が表示されます。
Remove All Terminated Launches
Resume
| 停止状態から再開する。再開すると breakpoint またはエラー状態になると停止する。 |
Suspend
| 再生状態から停止状態へ移行する。停止状態になるとステップ実行が可能になったり Variables で現在実行中の部分の変数などをデバッグできるようになる。 |
Terminate
| デバッグを終了する。 |
Disconnect
| Debugger と Flash Player の接続を切る。 |
Step Into
Step Over
Step Return
Drop To Frame
Use Step Filters
Variables
停止(Suspend)されている状態での変数が表示されます。
各ボタンの説明
Breakpoints
設定されているBreakpointの一覧が表示され、ここで一時的な解除を行うこともできます。
Remove Selected Breakpoints
Remove All Breakpoints
Show Breakpoints Supported by Selected Target
Go to File for Breakpoint
Skip All Breakpoints
Editor
Breakpointの設定やStep実行時に現在どこが実行されているかが表示されます。 実行中の部分が swc などのコンパイルされているコードの場合は、表示されません。
Console
trace文などが表示されます。
Breakpointの使い方
Editor 行番号が表示されているあたりをダブルクリックで Breakpoint を追加できます。Breakpoint の追加は Debug 中でも行うことができます。
Debug を実行すると Breakpoint が指定してある場所で、Suspend するのでそのまま Variables で気になる変数をチェックしたり、そのままステップ実行してどのように動作しているかチェックできます。
一度、Suspend 状態になると Flash Player 自体がフリーズしてしまうので、Suspend 状態を解除するかもしくは Terminate または Disconnect ボタンで Debugger と Flash Player との接続を解除する必要があります。(Flash Player が扱えない状態になってしまうのでウインドウが被さって見えなくなることがあります)
ステップ実行
ステップ実行するには一度、Suspend 状態にして step 系のボタンを押していくと順番に実行されて行きます。
エラー時
エラーが発生した場合にはそのエラーの発生箇所で Suspend 状態になります。
※try ~ catch でエラーが補足されている場合には動作しない
Flash IDEでパブリッシュしたものをデバッグする
swf をデバッグモードに設定
flaファイルのパブリッシュ設定から Flash タブを開いて「デバッグを許可」にチェックを入れます。
fla ファイルのコンパイルと Debugger の起動
FDT の Flash IDE configuration では Debug で起動できないので、Debugger の起動と fla ファイルをコンパイルする ANT を作成します。
ant ファイル
ant の設定の説明
ANT の実行
ant の実行
breakpoint などが効かない
希に FDB との接続がうまくいかずに FDT に情報が行かない場合があります。コレは FlashPlayer を右クリックしてでるメニューのデバッガをクリックすることで直る場合があるので一度試してみてください。 今のところ、再現条件は不明です。






