像sh-x一样回显每个Ruby代码行?

像sh-x一样回显每个Ruby代码行?,ruby,debugging,verbose,Ruby,Debugging,Verbose,有没有一种方法可以让ruby脚本回显(或者记录到我可以跟踪-f的文件)执行每一行,类似于DOS中的bash-x或@echo on ruby-w不能做到这一点——只会增加警告等的冗长性 对展开器进行了研究,但不起作用,可能太过时了。不可编译的依赖项 我经常使用irb,但在这种情况下,我需要一些非交互式的东西,例如检查尸检。你可以使用 ruby -rtracer [your_script.rb] 还有 IRB做到了这一点: irb script.rb 谢谢--我知道我遗漏了一些非常简单的东西。它

有没有一种方法可以让ruby脚本回显(或者记录到我可以跟踪-f的文件)执行每一行,类似于DOS中的bash-x或@echo on

ruby-w不能做到这一点——只会增加警告等的冗长性

对展开器进行了研究,但不起作用,可能太过时了。不可编译的依赖项

我经常使用irb,但在这种情况下,我需要一些非交互式的东西,例如检查尸检。

你可以使用

ruby -rtracer [your_script.rb]
还有

IRB做到了这一点:

irb script.rb

谢谢--我知道我遗漏了一些非常简单的东西。它不像
set-x
。我已经停止使用irb转储,因为它一开始就无用地打印我的整个类和方法(1000行代码),只是因为它们是预先定义的,甚至是注释和注释块,而不仅仅是因为行是实时执行的。我喜欢这个答案。它工作得很好。唯一的缺点是IRB在功能上相当平淡。有没有一种方法可以使用Pry或其他调试器来完成这项工作?试过了-rtracer,没有什么特别的打印。显然,Ruby 1.9.1已经崩溃(遗憾的是,由于Ubuntu软件包脆弱,与Rubygem依赖性之争,还不能升级),但谢谢你,这比irb打印每个评论和非执行行要好得多。试图让rdebug/Ruby调试在Ubuntu服务器上运行(从10.04升级到10.10,从9.*升级到10.10)是多么严重的麻烦。没有合适的软件包。{gem,gem1.9.1}install ruby debug只提供路径以外的不兼容版本:/var/lib/gems/1.8/bin/rdebug在/opt/ruby193或其他文件中自己编译ruby 1.9.3怎么样。这并不难,值得付出努力。还有一个标志帮助管理多个Ruby安装。除了输出执行的每个语句外,该标志还将输出每个语句的行号和源文件!在Ruby 2.0.0中运行时,它看起来像是
\0:square\u-proof.rb:4::-:num=15+(i*100)
irb script.rb