🐷
byebugの使い方
はじめに
byebugを使用することによって以下のようなことができます。
1.任意の場所でプログラムの処理を止められる
2.止めた場所から 1行ずつ動作確認ができる
byebugの使い方
使い方はシンプルでデバッグしたい箇所にbyebug
(またはdebugger
)と追記するだけです。この状態で処理を実行すると、デバッガーにより当該箇所で処理が停止します。
class ArticlesController < ApplicationController
def show
@article = Article.find(params[:id])
# 以下を追記
byebug
end
end
記入後、サイト側でshowページを開くことによって処理がbyebugの時点で停止します。
シェルに変数名を入力し実行することで中身を確認することができます。
また変数名の前にpp
をつけることで変数の中身が見やすい形式で表示されます。
(byebug) @article.title
"【Rails】Credentialsを使用した機密情報の保護【初学者】"
# 変数の中身を見やすく表示
(byebug) pp @article.tags
[#<Tag:0x00007fbb3bc073a0
id: 46,
name: "Ruby",
created_at: Fri, 02 Apr 2021 15:14:02 JST +09:00,
updated_at: Fri, 02 Apr 2021 15:14:02 JST +09:00>,
#<Tag:0x00007fbb3bc072d8
id: 3,
name: "Rails",
created_at: Fri, 13 Dec 2019 17:39:28 JST +09:00,
updated_at: Fri, 13 Dec 2019 17:39:28 JST +09:00>,
...
byebugは単なるメソッドのため、条件をつけることができます。
class ArticlesController < ApplicationController
def show
@article = Article.find(params[:id])
# 以下を追記
byebug if @article.draft?
end
end
これは基本的な使い方で他にも様々な使い方があるみたいです。
よく使うコマンド集
next 一行進む
continue 次のブレイクポイントに進む
step メソッドの内部にステップインする
list ソースコードを表示する
up ソースコードの上を表示する
down ソースコードの下を表示する
参考にさせていただいた記事
まとめ
今日は午前中はレイアウト編集して、午後から用事があったので復習の内容を投稿しました!!
以前メンターさんに使い方を教えてもらったので復習がてらにまとめてみました。
これを使い始めてからエラー処理にかかる時間が圧倒的に減ったのとターミナル注意深く見る癖がついたので、ちょっとずつでも自走力を上げていきたいと思います!
Discussion