2009-06-08 9 views
10

Javaアプリケーションと同様にRailsアプリケーションをデバッグすることは可能ですか?ブレークポイントを設定してコードにステップインしますか?Railsアプリケーションをどのようにデバッグしますか?

これに最適なツールは何ですか?

EclipseまたはNetbeansで実行できるハイブリッドJava/Ruby on Railsアプリケーションがあります。

私はこのアプリでいくつかのコードにステップし、私が持っている問題の原因を把握しようとしたいと思います。 Eclipseで

私は私のblog_controllerにブレークポイントを設定して、「デバッグ」ボタンを選択した場合、コードを実行するルビーデバッグ-IDEに宝石を使用しているようだが、私は、この役に立たない出力とするためのオプションを取得します

Fast Debugger (ruby-debug-ide 0.4.5) listens on localhost:56726 
    ./war/WEB-INF/app/controllers/blog_controller.rb:1 
    C:/Ruby18/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.5/lib/ruby-debug.rb:101:in `debug_load' 
    C:/Ruby18/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.5/lib/ruby-debug.rb:101:in `debug_program' 
    C:/Ruby18/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.5/bin/rdebug-ide:82 
    C:/Ruby18/bin/rdebug-ide:19:in `load' 
    C:/Ruby18/bin/rdebug-ide:19 
Uncaught exception: uninitialized constant ApplicationController 

私は何か間違っているか、これが私が期待できるすべてであるかどうかはわかりません。

答えて

2

Netbeans用のガイドhereがあります。

6

もっと期待できます。私はAptanaのRadRailsバージョンのEclipseを使って、あなたが説明したようにRailsアプリケーションをデバッグしました。ブレークポイントの設定とコードのステップ実行です。

あなたは何か間違っている可能性があります。 Railsアプリケーションをデバッグするのではなく、個々のコントローラファイルをデバッグしようとしているように見えます。 AptanaのののRadRailsで

C:\workspace\myapp\app\controllers>ruby users_controller.rb 
users_controller.rb:1: uninitialized constant ApplicationController (NameError) 

、私はアプリをデバッグするRun > Debug As > Ruby Applicationを選択します。私は、コマンドラインからコントローラファイルを実行しようとすると、私は同様のメッセージが表示されます。

+0

私はこのバグを元のエラーにしています。何か案は? – Brig

3

vimユーザーにとっては、vim-ruby-debuggerを調べることを強くお勧めします。これはTim Popeのrails.vimスクリプトとよく似ています。

これは便利な:Rdebuggerコマンドを提供します。ブレークポイントを設定し、分割ウィンドウを開いて変数値を表示することができます。

8

私が最もよく使うデバッガーは、gdb-esqueコマンドラインデバッガーであるruby-debug gemです。いくつかのコマンドを学ぶと、それは非常に迅速かつ効果的で、プログラムのコンテキストでirbを起動し、オンザフライで変更できるような便利な機能を提供します。

コマンドラインベースのため、リモートサーバーでデバッグする必要がある場合に便利です。

+2

これは私が一緒に行く方法であり、本当に好きです。 デバッガコマンドを黒色で、明るい灰色ではなく読みやすいテキストにリンクしています:-) http://blog.nanorails.com/articles/2006/7/14/a-better-rails-debugger -ruby-debug – Abel

+1

これは必須です! IDEがまわりにないかもしれない多くの状況があります!ここにガイドがあります:http://guides.rubyonrails.org/debugging_rails_applications.html –

0

エラースタックトレースを読み取る方法を知っていれば、レールでのデバッグは簡単です!しかし、明示的にランタイム中に値を監視する必要がある場合は、レールbreakpointerを使用することができます.Belowは、how to to breakpointer ..へのリンクです。

http://destiney.com/blog/rails-breakpointer

0

私は、Eclipse(私のためによく働いたことはない)、またはAptanaの(試していない)のために話すことはできませんが、経験から、私はNetBeansRubyMineの両方は、あなたがやりたいだろうと言うことができます。どちらの場合でも、ruby-debug-baseとruby-debug-ideの宝石が常に最新であることを確認するべきです。RubyMineは、それが完了するまで、特にうまくいきませんでした。

0

RoRを使用した99%のデバッグでブレークポイントを設定するだけです(実際にはをコンソールに配置します)。この方法はすべてのIDEでシンプルで使いやすいので、新しいデバッガ働く

1

実際、私はAptanaと同じ問題がありました。 Run > Debug As > Ruby Applicationは動作しません。最後に、Serversタブに行き、debug modeでサーバーを起動してデバッガを動作させました。その後、いくつかのブレークポイントを設定し、対応するアクションをトリガーします。お役に立てれば。

3

多分関連はありませんが、私はどこかに投稿したかったのですが、エラー: "デバッガのための未定義メソッド` run_init_script ':モジュール "がレール2.3.2でデバッガを実行していました。 sudoの宝石はruby-debugをインストールして問題は解決しましたか?

1

デバッグ?これは、たいていの場合、Rubyの場合(そして拡張子は、Railsの場合)どこを見るかを知っているだけです。この場合

問題は、おそらくまだそれがapplication_controller.rbに名前を変更する必要がありますあなたのApplicationController呼ばapplication.rbを持っているということです。

+0

これは動作します。ヒントをお願いします! –

関連する問題