0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Rails] debug gem で効率的なデバッグをしたい...

Last updated at Posted at 2024-04-17

概要

Railsのdebug gemについて、デバッグ時に活用できると感じた機能を紹介します。

利用方法

デバッグしたい箇所にbinding.breakを記載
binding.bでも可

def hoge
   binding.break #処理中断
   # ...
end

基本コマンド

c / continue 処理続行(ブレークポイントがあれば再度そこで停止)
n / next ステップオーバー
s / step ステップイン

業務で活用できそうなデバッグコマンド

  • do, if
    特定の条件でデバッグ
     # 特定の例外時にデバッグ
     binding.break do: 'catch ActiveRecord::RecordNotFound'
    
     # 特定の条件でデバッグ
     binding.break if val == "hoge"
    

  • i
    現在のスコープで有効なローカル変数、インスタンス変数を一覧で出力

  • bt n(行数)
    バックトレースを表示

  • l
    周辺のソースコードを表示

  • record on / step back
    • record onでその記録
    • step backrecord onで記録した処理まで1行ずつ戻ることが可能

まとめ

簡単ですが、以上です。
個人的に i コマンドは現在のスコープで利用できる変数がまとめてみれるので便利だと思いました。
(タイムトラベルデバッグはまだ活用する機会がない...)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?