添加逐步調試和堆棧導航功能使用byebug。
使用,正常調用pry。無需以不同的方式啟動腳本或應用程序。執行將在您的binding.pry
之後的第一個語句中停止。
def some_method
puts 'Hello World' # Run 'step' in the console to move here
end
binding . pry
some_method # Execution will stop here.
puts 'Goodbye World' # Run 'next' in the console to move here.
MRI 2.4.0或更高。
添加
gem 'pry-byebug'
到你的gemfile並運行
bundle install
如果您打算使用它來調試測試,請確保在全球或內部包含GEM :test
組!
休息:管理斷點。
步驟:將執行執行到下一行或方法中。採用可選的數字參數來多次逐步。
下一步:在同一框架內步入下一行。還採用可選的數字參數來逐步多行。
完成:執行直到當前堆棧幀返回。
繼續:繼續執行程序並結束撬訓練。
backtrace:顯示當前堆棧。您可以將左側的數字帶有frame
命令來導航堆棧。
向上:將堆棧框架移動。採用可選的數字參數以移動多個幀。
下:向下移動堆棧框架。採用可選的數字參數以移動多個幀。
框架:移至特定的框架。無參數的呼叫將顯示當前框架。
如果您來自串行或來自3.0之前的pry-byebug版本,則可能缺少“ n',s','s','c”和“ f”別名的階梯命令。默認情況下,這些別名被刪除,因為它們通常與刮擦變量名稱相衝突。但是,如果您仍然需要它們,可以輕鬆重新安裝它們,只需將以下快捷方式添加到您的~/.pryrc
文件:
if defined? ( PryByebug )
Pry . commands . alias_command 'c' , 'continue'
Pry . commands . alias_command 's' , 'step'
Pry . commands . alias_command 'n' , 'next'
Pry . commands . alias_command 'f' , 'finish'
end
另外,您可能會發現使用Enter
鍵(例如,帶有step
或next
),也可能會發現重複最後一個命令。為了實現這一目標,請將其添加到您的~/.pryrc
文件中:
# Hit Enter to repeat last command
Pry :: Commands . command /^$/ , "repeat last command" do
pry_instance . run_command Pry . history . to_a . last
end
您可以使用break
命令直接從pry會話設置和調整斷點:
中斷:從當前文件,文件和行號或方法中設置新的斷點。傳遞可選表達式以創建條件斷點。通過各種標誌編輯現有斷點。
示例:
break SomeClass #run # Break at the start of `SomeClass#run`.
break Foo #bar if baz? # Break at `Foo#bar` only if `baz?`.
break app / models / user . rb : 15 # Break at line 15 in user.rb.
break 14 # Break at line 14 in the current file.
break -- condition 4 x > 2 # Change condition on breakpoint #4 to 'x > 2'.
break -- condition 3 # Remove the condition on breakpoint #3.
break -- delete 5 # Delete breakpoint #5.
break -- disable - all # Disable all breakpoints.
break # List all breakpoints.
break -- show 2 # Show details about breakpoint #2.
鍵入break --help
從proy會話中鍵入,以查看所有可用選項。
請注意,這裡的所有替代方案都與pry-byebug不兼容。如果您的平台得到pry-byebug的支持,則如果它們存在於您的Gemfile中,則應刪除此處提到的任何寶石。
pry-debugger:為MRI 1.9.3或以上的紅寶石提供分步調試。如果您仍在使用這些,並且需要分步調試器來幫助進行升級,那麼Pry-debugger可能很方便。
PRY-STACK_EXPLORER:提供MRI 1.9.3或以上紅寶石的堆棧導航功能。如果您仍在使用這些,並且需要導航堆棧以幫助進行升級,則PRY-STACK_EXPLORER可以方便。
Pry-Nav:為Jruby提供分步調試。
請參閱開發開始。
訂閱Tidelift,以確保pry-byebug保持積極維護,同時,請獲得開放源代碼依賴性的許可保證和及時的安全通知。
您還可以通過Liberapay留下小(或大型)小費來幫助pry-byebug
。
請使用Tidelift安全聯繫人報告安全漏洞。 Tidelift將協調修復和披露。
歡迎補丁和錯誤報告。