在了解Ruby调试器之前,让我们了解什么是调试器?- “调试器不过是用于测试程序,查找问题并在目标程序中解决问题的计算机程序”。Ruby调试器是一个以相同方式工作的ruby工具,它可以测试和调试目标程序。事实是,Ruby是一种易于学习的语言,但同时也不能否认Ruby的代码中可能存在错误的事实,特别是当代码只有几行时。Ruby调试器通常随Ruby的标准发行版一起提供。
如果要加载ruby调试器,首先必须在命令行中键入“ -r debug”。
这肯定是一个非常突出的问题,因为阅读理论很容易,但在实际世界中实现起来却很难。如果要使用Ruby调试器,请在命令提示符下编写以下语法,
$ruby –r debug filename[, ...]
以下是在调试文件的过程中可能需要的Ruby Debugging命令的完整列表。使用 ... ]是可选的。
b[reak] [< file| class>:]< line| method>
如果要将断点设置为某些特定位置,则需要使用此命令。断点只是指针位置,在该位置可以出于调试原因而停止程序执行。
wat [ch] expression
用于设置监视点。使用ch是可选的。
cat [ch](exception | off)
此命令将捕捉点设置为表达式。ch的使用是可选的。
b [reak]
此命令用于显示断点和监视点。
del [ete] [n]
用于删除断点。ete的使用是可选的。
disp [lay] expression
此命令用于显示表达式的值。
undisp [lay] [n]
用于删除的显示n(whatever specified)
。
c [ont]
通过使用此命令,use可以继续执行暂停的操作。
s [tep] [n]
用于执行下n行,逐步进入方法。写提示是可选的。
n [ext] [n]
用于执行下n行单步执行的方法。键入ext是可选的。
w [here]
此命令用于显示堆栈帧。
f [rame]
完全在哪里工作。
l [ist] [<-| n- m>]
用于显示从m到n的源行。
up [n]
用于在堆栈帧中上移n个(指定)级别。
down [n]
用于向下移动n(specified)
堆栈帧中的级别。
fin [ish]
该命令用于完成当前方法的执行。
tr [ace] [on | off]
用于打开或关闭跟踪模式。
q [uit]
退出命令用于退出调试器。
v [ar] g [lobal]
如果要显示全局变量,请使用此命令。
v [ar] l [ocal]
如果要显示局部变量,请使用此命令。
v [ar] i [instance] object
此命令用于显示对象的实例变量。
v [ar] c [onst] object
此命令通过显示对象常数来提供帮助。
m [ethod] i [instance] object
它显示对象的实例方法。
m[ethod] class| module
用于显示类或模块的实例方法。
th [read] l [ist]
如果要显示线程,请使用此命令。
th [read] c [ur [rent]]
如果要显示当前线程,请使用此命令。
th [read] n
用于停止指定线程。