Play framework 2.0 betaが出たようです9 – Eclipseでデバッグする

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Eclipseでデバッグ

ちょっと前までPlay framework 2.0でデバッグを行うには、-Xdebug -Xrunjdwp:transport〜のようなパラメータをsbtの起動時に付与する必要がありました。
最近のビルドではもっと簡単にデバッグが可能になっていたのでご紹介します。

今回使用した動作環境は以下のとおりです。

  • OS : MacOS X 10.7.2
  • Playframework : HEAD
  • Java : 1.6.0_26
  • Eclipse : 3.7

注意:
この記事ではgithubから取得したHEAD版を使用して試しています。
正式リリース前の状況のため思わぬ不具合が生じるかもしれませんので、ご了承ください。

ソースのHEADを取得してセットアップ

まだgithubからソースを取得していない人は、play2.0のソースを取得してビルドしましょう。

$ git clone https://github.com/playframework/Play20.git
$ cd Play20/framework
$ ./build
> complile
> build-repository
> publish-local

すでにソースを取得している人は、最新の状態に更新してビルドします。

$ git pull
$ cd Play20/framework
$ ./build
> compile
> build-repository
> publish-local

これで準備ができました。

プロジェクト作成

Scalaベースのプロジェクトを作成し、sbtコンソールを起動します。

% play new debugPrj
% cd debugPrj
% play

eclipsifyを実行してeclipseプロジェクト化してインポートしてソースの修正をしましょう。

>[debugPrj] $ eclipsify

デバッグしてみる

用意されているApplication.scalaのindexメソッドでもいいので、適当なコードを記述してブレークポイントを設定してください。
そしてPlayコンソールでアプリケーションを起動しましょう。

>[debugPrj] $ run

EclipseのdebugPrj上で右クリック→Debug As...→Debug Configurations...を選択し、
Remote Java Applicationを選択して新規作成ボタンを押下します。
デバッグ用ポートが9999番ポートで起動するようになっているので、ConnectタブのConnection Propertiesのポート欄に9999と入力し、Debugボタンを押下します。

ブラウザでアクセスしてみましょう。ブレークポイントで停止し、変数の中身やステップ実行ができます。

まとめ

今回はデバッグの解説でした。今月中にRCが登場予定なのでまだ機能追加は頻繁に行われるものと思われます。