Adobe
製品
Creative Suiteファミリー
Photoshopファミリー
Acrobatファミリー
Flash Platform
Digital Marketing Suite
Digital Enterprise Platform
Digital Publishing Suite
その他の製品一覧
ソリューション
コンテンツオーサリング
教育
金融機関
デジタルマーケティングソリューション
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア安心のサポート& サービス
アカデミック版のご購入学生、教職員、個人
ライセンスのご購入企業、教育機関、官公庁
販売パートナー
検索
 
情報 サインイン
ようこそ、 カート 注文状況 ユーザー登録
マイアカウント
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション   検索  
ソリューション 会社情報
サポート ラーニング
サインイン ようこそ、 注文状況 ユーザー登録
Qty:
Subtotal
Checkout
Adobe Developer Connection / Flexデベロッパーセンター /

Flex 4 マスターシリーズ #02 Flash Builder 4 新機能

著者 廣畑 大雅 (taiga)氏

廣畑 大雅 (taiga)氏
  • taiga.jp

Content

  • 移動リファクタリング
  • 条件付きブレークポイント
  • 監視ポイント
  • 指定行まで実行
  • 式評価
  • オブジェクト参照

作成日

22 March 2010

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

Tags

必要条件

ユーザーレベル

すべて

必要な製品

  • Flash Builder 4 (Download trial)

サンプルファイル

  • Samples_no2 (116 KB)

Flex 4 マスターシリーズ 連載記事一覧

  • #01 MXML 2009
  • #02 Flash Builder 4 新機能
  • #03 Flex 4 ステート
  • #04 Flex 4 CSS
  • #05 Spark コンポーネント
  • #06 データ中心型開発(DCD) Part1
  • #07 Spark Skining part 1
  • #08 Spark Skining part 2
  • #09 Flex 4 エフェクト
  • #10 Flex 4 Spark Layouts
  • #11 FlexUnit 4
  • #12 データ中心型開発(DCD)Part2

はじめに

このチュートリアルでは、Flash Builder 4 の新機能について紹介します。
Flex Builder 3 から追加された主な項目について、チュートリアルを交えながら解説していきます。

新機能紹介

Flash Builder 4 では、Flex Builder 3のリファクタリング、デバッグ、プロファイラーについて、最も要望の多かった機能強化を行いました。

  • リファクタリング機能
    • 移動リファクタリング
  • デバッグ機能
    • 条件付きブレークポイント
    • 監視ポイント
    • 指定行まで実行
    • 式評価
  • プロファイラー機能 (Premium Editionのみ )
    • オブジェクト参照

移動リファクタリング

 ( サンプルプロジェクト : RefactoringSample.fxp )

以下のようなプロジェクトを用意して、com.adobe.control パッケージの MyComponent クラスを com.adobe.container パッケージに移動します。

図 01. RefactoringSample プロジェクトのパッケージ
図 01. RefactoringSample プロジェクトのパッケージ

MyComponent.as を選択して、パッケージエクスプローラーのメニューを開き、「移動」を選択します。

図 02. パッケージエクスプローラーのメニュー
図 02. パッケージエクスプローラーのメニュー

「移動」のダイアログボックスが表示されますが、移動先パッケージを指定して [OK] ボタンを押すと、クラスファイルが指定パッケージに移動されます。( com.adobe.container パッケージを指定 )
このとき、「参照を更新」チェックボックスは、デフォルトで選択されている状態になっているので、移動したクラスファイルはリファクタリングされますが、「参照を更新」チェックボックスを非選択状態にして [OK] ボタンを押すと、リファクタリングされず、クラスファイルのパッケージ移動のみ行われます。

図 03. 「移動」ダイアログボックス
図 03. 「移動」ダイアログボックス

また、「文字列リテラル内のテキスト発生を更新(プレビューを強制)」チェックボックスを選択して [プレビュー] ボタンを押すと、リファクタリング対象の情報を確認することができます。

図 04. 「移動」ダイアログボックス
図 04. 「移動」ダイアログボックス
図 05. 「移動」リファクタリングのプレビュー
図 05. 「移動」リファクタリングのプレビュー

com.adobe.container パッケージに MyComponent.as が移動されリファクタリングされました。

図 06. RefactoringSample プロジェクトのパッケージ
図 06. RefactoringSample プロジェクトのパッケージ

条件付きブレークポイント

( サンプルプロジェクト : ConditionalBreakpointsSample.fxp )

ブレークポイントを設定する任意のコード行に対して、マーカーバーでダブルクリックしてブレークポイントを追加します。( マーカーバーは、コードエディタの左端に沿ってあります。 ) ブレークポイントマーカーは、マーカーバーと Flash デバッグパースペクティブの「ブレークポイントビュー」のブレークポイントの一覧に追加されます。
デバッガがブレークポイントを検出すると、アプリケーションが中断され、Flash デバッグパースペクティブが表示されます。また、コードエディタで、ブレークポイントのマークが付いたコード行がハイライト表示されます。

図 07. ブレークポイントを設定
図 07. ブレークポイントを設定

条件付きブレークポイントを設定するには、ブレークポイントがマークされている行でマーカーバーのメニューを開き、「ブレークポイントプロパティ」を選択します。

図 08. マーカーバーのメニュー
図 08. マーカーバーのメニュー

「ブレークポイントプロパティ」のダイアログボックスが表示されます。
「有効」チェックボックスは、マークしているブレークポイントの有効 / 無効を切り替えます。

図 09. 「ブレークポイントプロパティ」ダイアログボックス
図 09. 「ブレークポイントプロパティ」ダイアログボックス

「ヒット数」チェックボックスは、選択すると数字入力テキストインプットが有効になり、正の整数を入力することができます。 ( 下記図では「 50 」を入力 )

図 10. 「ヒット数」チェックボックスを選択して、正の整数を入力
図 10. 「ヒット数」チェックボックスを選択して、正の整数を入力

コードをデバッグすると、ブレークポイントのマークが付いたコード行が、入力した値の回数実行されたときに、初めてブレークポイントが検出され、アプリケーションが中断され、Flash デバッグパースペクティブが表示されます。( このとき、コード行の処理直前でアプリケーションが中断されるため、コンソールの行末には「 trace : 48 」と出力されているはずです。 )

「条件を使用する」チェックボックスは、選択すると条件式テキストインプットが有効になり、条件や trace() を入力することができます。 ( 下記図では「 i == 50 」を入力 )

図 11. 「条件を使用する」チェックボックスを選択して、条件式を入力
図 11. 「条件を使用する」チェックボックスを選択して、条件式を入力

コードをデバッグすると、ブレークポイントのマークが付いたコード行が実行されかつ、入力した条件式が true を返したときに、ブレークポイントが検出され、アプリケーションが中断され、Flash デバッグパースペクティブが表示されます。( このとき、コード行の処理直前でアプリケーションが中断されるため、コンソールの行末には「 trace : 49 」と出力されているはずです。 )

図 12. 「条件値の変更」ラジオボタンを選択
図 12. 「条件値の変更」ラジオボタンを選択

「条件値の変更」ラジオボタンを選択した場合は、入力した条件式の評価が変化したときにブレークポイントが検出さるので、図 12. の例では、i の値が 50 のときと、51 のときと 2 回ブレークポイントが検出されます。

監視ポイント

( サンプルプロジェクト : WatchPointsSample.fxp )

監視ポイント機能を使用するためには、最初に監視対象の変数を登録します。デバッグ中のアプリケーションを、ブレークポイントを使用して中断させているときに、「変数」ビューのメニューから「監視ポイントを切り替え」を選択することによって登録することができます。( 図 13. の例では、変数 num を監視ポイントのターゲットとして登録しています。 )

図 13. 「変数」ビューのメニューから「監視ポイントを切り替え」を選択
図 13. 「変数」ビューのメニューから「監視ポイントを切り替え」を選択

監視ポイントが追加されると、「ブレークポイント」ビューに登録されます。

図 14. 「ブレークポイント」ビューの監視ポイント
図 14. 「ブレークポイント」ビューの監視ポイント

監視ポイントを登録することによって、監視対象の変数の値が変化するたびに、値が変化した直後のコード行でアプリケーションが中断されます。

図 15. 変数 num が登録されているので、num の値が変化した直後にブレークされる
図 15. 変数 num が登録されているので、num の値が変化した直後にブレークされる

また、「監視ポイントを切り替え」の切り替えは、「式」ビューから登録することもできます。

図 16. 「式」ビューのメニューから「監視ポイントを切り替え」を選択
図 16. 「式」ビューのメニューから「監視ポイントを切り替え」を選択

指定行まで実行

( サンプルプロジェクト : RunToLineSample.fxp )

アプリケーションが中断されている状態から、「指定行まで実行」機能を使えるようになりました。

図 17. 任意のコード行でブレークポイントを使用して、アプリケーションを中断
図 17. 任意のコード行でブレークポイントを使用して、アプリケーションを中断

次にブレークさせたいコード行までキーカーソルを移動させて、エディタのメニューを開き「指定行まで実行」を選択します。

図 18. エディタのメニューから「指定行まで実行」を選択
図 18. エディタのメニューから「指定行まで実行」を選択

指定行までコードを実行して、再度アプリケーションが中断されました。

図 19. 指定行まで実行されて、アプリケーションが中断される
図 19. 指定行まで実行されて、アプリケーションが中断される

式評価

( サンプルプロジェクト : ExpressionEvaluatorSample.fxp )

「式」ビューで扱える機能が大幅に改善され、以下のような ActionScript 式のサポートが使用できるようになりました。

  • すべての演算子 ( is 演算子や === 演算子 など )
  • 正規表現
  • EX4
図 20. 「監視式を編集」ダイアログボックス ( is 演算子で評価 )
図 20. 「監視式を編集」ダイアログボックス ( is 演算子で評価 )
図 21. 「監視式を編集」ダイアログボックス (EX4 で出力 )
図 21. 「監視式を編集」ダイアログボックス (EX4 で出力 )
図 22. 「監視式を編集」ダイアログボックス ( 正規表現で評価 )
図 22. 「監視式を編集」ダイアログボックス ( 正規表現で評価 )

ブレークポイントを使用して、アプリケーションを中断することにより、監視式の出力結果を確認することができます。

図 23. 「式」ビュー ( 図 20. 監視式の結果 )
図 23. 「式」ビュー ( 図 20. 監視式の結果 )
図 24. 「式」ビュー ( 図 21. 監視式の結果 )
図 24. 「式」ビュー ( 図 21. 監視式の結果 )
図 25. 「式」ビュー ( 図 22. 監視式の結果)
図 25. 「式」ビュー ( 図 22. 監視式の結果)

オブジェクト参照

(Premium Editionのみ ) ( サンプルプロジェクト : ObjectReferencesSample.fxp)

プロファイラーの「オブジェクト参照」機能が改善され、指定オブジェクトの GC (Garbage Collection) ルートからのパス一覧が表示できるようになりました。

図 26. プロファイリングを実行
図 26. プロファイリングを実行

プロファイラー設定のダイアログボックスが表示されたら、すべてのチェックボックス項目にチェックします。[ 再開 ] ボタンを押すと、プロファイリングが始まります。

図 27. プロファイラー設定のダイアログボックス
図 27. プロファイラー設定のダイアログボックス

サンプルプロジェクトを実行すると、真っ白な画面が表示されるので、好きなところをクリックしてください。クリックした位置にボタンが生成されます。ボタンをクリックすると、ボタンは破棄されます。

図 28. 量産されたボタン
図 28. 量産されたボタン

量産されたボタンをすべて削除します。このとき、メモリリークが発生していないかを調べます。「プロファイル」ビューを開き、実行中のプロファイルを選択して、[ メモリのスナップショット ] ボタンを押します。

図 29. 「プロファイル」ビュー
図 29. 「プロファイル」ビュー

「メモリのスナップショット」が作成されるので、選択してダブルクリックします。

図 30. 「プロファイル」ビューの「メモリのスナップショット」
図 30. 「プロファイル」ビューの「メモリのスナップショット」

ダブルクリックすることにより、「メモリのスナップショット」ビューが表示されます。

図 31. 「メモリのスナップショット」ビュー
図 31. 「メモリのスナップショット」ビュー

サンプルアプリケーションで量産されたボタンのクラス名は MoveButton です。このクラスを選択してダブルクリックすることにより、「オブジェクト参照」ビューが表示されます。

図 32. 「オブジェクト参照」ビュー
図 32. 「オブジェクト参照」ビュー

さきほど、量産されたボタンはすべて削除したのにも関わらず、多くのインスタンスが残りメモリリークを起こしています。このメモリリークの原因を探るために「オブジェクト参照」は役に立ちます。

GC ルートへのパスを確認するため、[ プラス (+)] ボタンを押してインスタンスを展開します。

図 33. 「オブジェクト参照」ビュー (GC ルートへのパスを確認 )
図 33. 「オブジェクト参照」ビュー (GC ルートへのパスを確認 )

インスタンスを展開すると、サンプルプロジェクトの MoveButton.mxml の 21 行目に原因があることが確認できるはずです。

メモリリークの原因になっているコード行をコメントアウトして、再度プロファイリングを行い、同じ手順を踏んで、メモリリークが発生するかを確認します。

図 34. メモリリークの原因になっているコード行をコメントアウト
図 34. メモリリークの原因になっているコード行をコメントアウト

「オブジェクト参照」ビューで、メモリリークが解消されたことが確認できました。

図 35. 「オブジェクト参照」ビュー
図 35. 「オブジェクト参照」ビュー

「おわりに」

以上がFlash Builder 4 の新機能の一部でした。
Flex Builder 3 と比べて、細かいところにまで手が届くかのように、機能が強化されたことに気付いていただけたかと思います。

これらのチュートリアル、サンプルコードを試すことによって、Flash Builder 4 での開発効率は格段に上がるでしょう。

製品

  • Creative Suiteファミリー
  • Photoshopファミリー
  • Acrobatファミリー
  • Flashプラットフォーム
  • Digital Marketing Suite
  • Digital Enterprise Suite
  • Digital Publishing Suite
  • モバイルアプリ

ソリューション

  • カスタマーエクスペリエンスマネジメント
  • コンテンツオーサリング
  • デジタルマーケティング

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミック版のご購入
  • ライセンスのご購入

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • España
  • France
  • Deutschland
  • Hrvatska
  • Ireland
  • Israel - English
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Magyarország
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Österreich - Deutsch
  • Polska
  • Portugal
  • România
  • Россия
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Slovenija
  • Slovensko
  • Srbija
  • Suomi
  • Sverige
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Pacific - English
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

当Webサイトをご利用のお客様は、利用条件およびプライバシーポリシー(2011年9月30日更新)にご同意いただいたものとみなされます。

Reviewed by TRUSTe: site privacy statement