6

我正在尝试找到一种将 IRB 与我的正常 ruby​​ 开发集成的更好方法。目前我很少在我的代码中使用 IRB。我只用它来验证语法或尝试一些小的东西。

我知道我可以将自己的代码加载到 ruby​​ 中

require 'mycode'

但这通常不符合我的编程风格。有时我要检查的变量超出范围或在循环内。有没有一种简单的方法来启动我的脚本并在 IRB 内部的某个点冻结?我想我正在寻找一种更简单的方法来调试我的 ruby​​ 代码,而不会破坏我的 F5(编译)键。

或许有经验的 ruby​​ 开发者可以和我分享一个更精简的开发方法。

4

5 回答 5

10

安装 ruby​​-debug gem。当然,在您的应用程序中需要它(仅在开发/测试模式下)。现在您可以在要停止执行的地方编写“调试器”。

一旦您的应用程序在断点处停止,您可以键入“帮助”以了解所有命令。其中之一是“irb”。它启动一个 IRB 会话,您可以在其中访问当前上下文中的所有方法。

我个人主要使用 p(打印)、eval、vi(实例变量)和 vl(本地变量)。当然,n 代表下一个,c 代表继续。

但是,退出给定块/方法的命令对我来说从来没有用过。我从来没有调查过为什么:-)

于 2008-09-28T00:44:40.853 回答
2

我不倾向于直接使用 irb,因为我倾向于在 rails 内部,所以使用脚本/控制台一堆,但我喜欢使用 ruby​​ 调试器(Ruby Debug gem)。它可以让你基本上设置一个断点,然后逐行遍历你的代码。

这是一个我实际上没有看过的关于它的截屏视频,但快速搜索了一下,它可能很有用:

http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/

于 2008-09-27T17:25:28.977 回答
1

对于 Eclipse 中的 Ruby 开发:现在可以使用 RDT(Ruby 开发工具)的改进版本。要直接在 Eclipse 中安装它,请单击帮助 > 软件更新 > 查找并安装 > 搜索新功能单选按钮 > 下一步 > 新远程站点 > 名称 = Ruby 和 URL = http://update.aptana.com/update/rdt/ 3.2/

另一个 Ruby 插件是闪亮的新 Eclipse DLTK(动态语言工具包)。 DLTK 稳定版 1.0.M5前几天刚出来。这里有一些有用的安装技巧

于 2009-02-11T00:31:35.637 回答
0

我只是使用 rdebug 来调试我的任何 ruby​​ 或 RoR 代码。

于 2008-09-27T17:23:12.023 回答
0

如果您愿意使用 IDE 进行调试,我知道Eclipse(通过Ruby 开发工具)有一个相对简单的界面。如果您正在使用 rails,那么有一个名为RadRails的特定 Eclipse 构建,它也可能会有所帮助(尽管我没有将它用于调试)

于 2008-09-27T19:50:10.890 回答