技術

【Rails】そろそろデバッグしましょうか

投稿日:

どうも中田です。
今までrailsの開発はIDEを使わずテキストエディタだけでやってきたのですが、
いい加減デバッガでも使おうかと思い、今回に至ります。

 

pry-debuggerを使ってのデバッガです。
pryとはrubyのデバッガのirbのパワーアップ版って感じのイメージでしょうか。

 
 

Gemfileに追加

pry-debuggerやらその他もろもろをGemfileに書きます。

group :development do
  gem 'pry-rails'
  gem 'pry-doc'
  gem 'pry-byebug'
  gem 'pry-stack_explorer'
end

終わったら、$ bundle installしておきます。
 
 

ブレイクポイント追加

ソースコード内にbinding.pryを入れるとその次の行がブレイクポイントになります。
そして、$ rails sで起動

 
 

該当の部分に達すると…

 
 

     4: class LoginController < ApplicationController
     5:   include Ftp
     6: 
     7:   def sign_in
     8:     binding.pry
 =>  9:     e_mail = params['e_mail']
    10:     password = digest(params['password'])
    11:     uuid = params['uuid']
    12:     platform = params['platform']
    13:     device_token = params['device_token']
    14: 
[1] pry(#<LoginController>)> 

 

はい、止まりました。
これでデバッグ可能です。

 
 

ちょっとコマンド

これがあればとりあえずってものです。
調べればもっとたくさんあります。

コマンド 説明
$ ソース表示
p xxxx xxxxの内容を表示
next ステップオーバー
step ステップイン
continue 次のブレイクポイントまで
finish ステップアウト

 
 

備考

前のコマンドをEnterだけで連続して実行できるという設定です。

Pry::Commands.command /^$/, "repeat last command" do
  _pry_.run_command Pry.history.to_a.last
end

 
 

久しぶりですが、こんなところで。

-技術
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[JS] イベントバブリングまとめ

どうも中田です いつも忘れちゃうんですよ。 javascriptのイベントバブリ …

Amazon Rekognitionを使うと写真に自動でタグを付けられます。

こんにちは、高石です。 来月20日(5月20日)はエンたまもくもく会#5です。 …

どうも中田です。 Rails5.2から config/credentials.y …

[Xcode] SDK Version Issue – This app was built with the iOS 12.0 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later.

こんにちは。たなかです。 2019年、ブログ初更新になります。今年もよろしくお願 …

[Cocos Creator] java.util.NoSuchElementException

どうも中田です CocosCreatorでビルド後、AndroidStudioで …