添加逐步调试和堆栈导航功能使用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将协调修复和披露。
欢迎补丁和错误报告。