3rdRailによるRailsプログラミング入門

第9回 3rdRailのデバッグ機能を使ってみよう

富田 陽介
Banana Systems株式会社

2009/10/21

Railsアプリケーション開発を支援する統合開発環境「3rdRail」を使って、開発、デバッグ、プロファイリングの手法をマスターしよう(編集部)

 第8回「Webブラウザ・ツールで動作確認をしよう」では、作成したアプリケーションの動作確認を行うときに役立つ、3rdRailが提供するいくつかの機能を紹介しました。

 3rdRailでは、ほかのIDEと同じようにアプリケーション実行のブレークポイント設定やステップ実行、変数の値をモニタリングできるデバッグ機能が利用できます。今回は、簡単に利用方法を紹介します。

 なお、本連載で作成してきた「つぶやき」アプリケーションを使用して、デバッグの説明を進めていきます。

デバック用外部ライブラリのインストール

 デバッグ機能を利用する前に、Rubyプログラムのデバッグを行うための外部ライブラリである、ruby-debugをインストールしておく必要があります。このライブラリはgemという形式で配布されており、3rdRailのプロジェクト・コマンダー機能を使ってインストールできます。

 3rdRailメニューから[ウィンドウ]−[プロジェクト・コマンダー]−[最後または新規のコマンダーの表示]をクリックすると、画面下の[コンソール]タブにプロジェクト・コマンダーが表示されますので、ここに、次のコマンドを入力し、ruby-debugのインストールを実行します。

>gem install ruby-debug
画面1 ruby-debugをインストール
ruby-debugをインストール

ブレークポイントの設定

 ruby-debugのインストールが終わったら、Controllerクラスの中の適当な位置にブレークポイントを設定してみましょう。

 [ウィンドウ]メニュー、もしくはウィンドウ右上にあるアイコンから[Railsエクスプローラー]パースペクティブに戻り、tsubuyakiプロジェクトの[コントローラー]からHitokotosをダブルクリックし、HitokotosControllerクラスのスクリプトを編集画面に開きます。

 今回は、indexアクション中、@hitokotos = Hitokoto.find(:all)の行(4行目)と、respond_to do |format|の行(6行目)とにブレークポイントを設定してみます。編集エリアの行番号が書いてある左側の空白にマウスカーソルを合わせ、ダブルクリックしてみましょう。空白部分に丸印のマーカーがセットされます。これがブレークポイントの印となります。

デバッグパースペクティブ

 ここまでできたら準備完了です。さっそくデバッグ機能を試してみましょう。

 [Railsエクスプローラー]で、tsubuyakiプロジェクトから[コントローラー]−[Hitokotos]−[ビュー]の順にツリーを展開し、indexを右クリックして表示されるメニューから、[デバッグ]−[サーバーでデバッグ]をクリックしてください(前回、[Mozillaで実行]したときのサーバがまだ起動している場合は、サーバを停止してから、操作を行ってください)。

 Railsアプリケーションサーバがデバッグモードで起動し、下図のようなパースペクティブ変更確認のダイアログが表示されます。

画面2 デバッグパースペクティブ変更確認
デバッグパースペクティブ変更確認

 [OK]をクリックすると、デバッグのパースペクティブに切り替わり、デバッガが起動します。

画面3 デバッグパースペクティブ(画像をクリックすると拡大します)
デバッグパースペクティブ

 デバッグのパースペクティブは、デフォルトでは、上図のような5区分に分かれています。簡単に画面構成を説明しておくと、

  • アプリケーションサーバの稼働状況と処理中のスレッドを概観できるタブ(左上)
  • 設定されたブレークポイントや変数などの処理中スレッドの詳細をモニタできるタブ(右上)
  • Webブラウザや実行中スクリプトのソースコードを表示するタブ(左中)
  • 表示中スクリプトのアウトラインを表示するタブ(右中)
  • 実行中のアプリケーションサーバログを表示できるタブ(下)

となっています。

 例えば、右上の[ブレークポイント]タブをクリックしてみると、hitokotos_controller.rbの4行目と6行目にブレークポイントが設定されていることが分かります。現在は、上図のように4行目のブレークポイントでアプリケーション実行が中断されているという状態です。

 
1/2
next

Index
3rdRailのデバッグ機能を使ってみよう
Page1
デバック用外部ライブラリのインストール
ブレークポイントの設定
デバッグパースペクティブ
  Page2
ステップインを使って関連する処理を追い掛ける
変数を参照する

index 3rdRailによるRailsプログラミング入門

 Ruby/Rails関連記事
プログラミングは人生だ
まつもと ゆきひろのコーディング天国
 ときにプログラミングはスポーツであり、ときにプログラミングは創造である。楽しいプログラミングは人生をより実りあるものにしてくれる
生産性を向上させるRuby向け統合開発環境カタログ
Ruby on Rails 2.0も強力サポート
 生産性が高いと評判のプログラミング言語「Ruby」。統合開発環境を整えることで、さらに効率的なプログラミングが可能になる
かんたんAjax開発をするためのRailsの基礎知識
Ruby on RailsのRJSでかんたんAjax開発(前編)
 実はAjaxアプリケーション開発はあなたが思うよりも簡単です。まずはRuby on Railsの基礎知識から学びましょう
Praggerとnetpbmで作る画像→AA変換ツール
Rubyを使って何か面白いものを作ってみよう!
 一般的な画像をアスキーアートに変換するツールを作ってみる。さらに出力にバリエーションを持たせてみよう
コードリーディングを始めよう
Railsコードリーディング〜scaffoldのその先へ〜(1)
 優れたプログラマはコードを書くのと同じくらい、読みこなす。優れたコードを読むことで自身のスキルも上達するのだ
  Coding Edgeフォーラムフィード  2.01.00.91


Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

>

Coding Edge 記事ランキング

本日 月間