web-dev-qa-db-ja.com

Railsをデバッグする実際的な方法は何ですか?

実際には、デバッガはRailsアプリケーションにはほとんど使用されていません。他のRubyアプリケーションと同様に、Pythonも同様です。)

これをJavaまたはVisualStudioプログラマーの通常の方法と比較できます。これらは、グラフィカルIDEでインタラクティブなデバッガーを使用します。

人々はどのようにデバッグするのですかRailsアプリケーション実際には?私はデバッガの多様性を知っているので、それらに言及する必要はありませんが、深刻なRailsプログラマはそれらなしで動作しますか?もしそうなら、なぜあなたはそれをこのようにすることを選ぶのですか?

複雑なロジックをデバッグする場合、コンソール印刷には限界があるように思えます。

6
Joshua Fox

コンソール印刷は多くの状況で機能します。特に、コードが大きなブロックではなく小さな単位である場合。

Rails世界でデバッガが問題にならないもう1つの理由は、TDDです。小さなテスト可能な項目でメソッドを削減する場合、それらの完全なテストセットを記述して、私にとっては、これはデバッガーの必要性を排除しました。もちろん、これはプロジェクトの種類に依存する場合があります。非常に大規模または複雑なプロジェクトでは、異なるツールの使用が必要になる場合があります。

3

あなたの質問は、その推測が少し悪いと思います。 IDE開発をデバッグするために、グラフィカルなRails(NetbeansとRubyMineでは作業している場所によって異なります)で対話型デバッガを使用しています)。

7
Pavling

ええRubyデバッグも良いです

特に宝石のようなものでIRBを忘れないでください

http://pry.github.com/

または

https://github.com/jberkel/interactive_editor

3
A B

OSレベルのデバッグツール、ロギングツール、ログベースのアラート、Cツール、ブラウザのデバッグテクニックなど、さまざまなレベルに分けて、約30ページのデバッグテクニックを書きました。私はこれを A Railsのデバッグの包括的なガイド という一連の記事として公開しました。

2
Jack Kinsella

Railsアプリが適切に記述されていて、脂肪モデルがテストでカバーされ、コントローラーとビューがスリムである場合、ほとんどのバグはモデルで発生し、テストとコンソールで検出できるため、デバッガーは必要ありません。

ただし、私はいくつかのレガシーを維持していますRails私がデバッガを頻繁に使用するアプリ(Ruby-debug gem)。コントローラーとビューの両方に多くのアクションが含まれているため、特定のアプリの状態をチェックするには、デバッガーが唯一の方法です。

0
Lukas Stejskal