我正在努力寻找一种更好的方法来将IRB与我正常的ruby开发相结合。目前我很少在我的代码中使用IRB。我只用它来验证语法或尝试小的东西。

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

require 'mycode'

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

也许更有经验的ruby开发人员可以与我分享更简化的开发方法。

有帮助吗?

解决方案

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

一旦你的应用停在你的断点处,你可以输入'help'来了解所有命令。其中一个是'irb'。它启动一个IRB会话,您可以在其中访问当前上下文中的所有方法。

我个人主要使用p(打印),eval,v i(实例变量)和v l(本地变量)。当然,n代表next,c代表继续。

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

其他提示

我不倾向于直接使用irb,因为我倾向于在rails中,所以使用脚本/控制台一堆,但我喜欢使用ruby调试器(Ruby Debug gem)。它允许您基本设置断点,然后逐行逐步执行代码。

这是一个关于它的截屏视频,我还没有真正观看,但快速搜索将其拉出来,它可能很有用:

http://brian.maybeyoureinsane。净/博客/ 2007/05/07 /红宝石调试基础知识 - 截屏/

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

另一个Ruby插件是闪亮的新Eclipse DLTK(动态语言工具包)。 几天前, DLTK稳定版1.0.M5 刚刚问世。 以下是一些有用的安装提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top