技術

【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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[Xcode] iOSソフトウェアアップデート後に、Could not locate device support files.

こんにちは。たなかです。 Xcodeで開発中に以下のエラーにぶつかりました。 エ …

[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年、ブログ初更新になります。今年もよろしくお願 …

Angularでセレクトボックスに色をつけたいとき

こんにちは。コーテッグのこやまです。 Angularでセレクトボックスが特定の値 …

no image

【Rails】kaminariさんって配列もいけるんですね

どうも中田です。 久しぶりのブログになります。 railsでページングをする場合 …

[ionic] Error code 70 / requires a provisioning profile with the Push Notifications feature.

どうも中田です ionic使っててbuildで引っかかりましたー ionicでp …