ruby 1.9 中的调试

发布于 2024-07-26 08:01:00 字数 51 浏览 7 评论 0原文

你们在 ruby​​ 1.9 中用什么来调试? rdebug 似乎不兼容..有什么吗?

What do you guys use for debugging in ruby 1.9? rdebug doesn't seem to be compatible.. is there anything out there?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

梦初启 2024-08-02 08:01:01

有很多选择,取决于您的需求。

我使用 pry-moves 因为我可以“回顾”之前发生的事情通过从该位置以调试模式重新执行它们来重新执行命令。

There is a lot of choices, depending on your needs.

I use pry-moves because I can "look back" into what happened inside of previous command by re-executing them in debug mode right from the place.

泪眸﹌ 2024-08-02 08:01:01

没有人使用:
ruby -rdebug script.rb

然后你可以使用:
b script.rb:## (其中 ## 是有效 ruby​​ 命令的行号),否则您可能会处于 ruby​​gems 或所需代码块之一的中间。

然后你可以简单地将下一个断点设置为 b:##

doesn't anyone use:
ruby -rdebug script.rb

then you can use:
b script.rb:## (where ## is the line number of a valid ruby command) otherwise you are going to maybe be in the middle of rubygems or one of your required chunks of code.

Then you can simply set the next breakpoint as b:##

哆兒滾 2024-08-02 08:01:00

ruby-debug19 不再维护。 所有其他答案都已过时。

但还有一个替代方案:

debugger 来救援!

将其放入您的 Gemfile 中:

gem 'debugger', group: [:development, :test]

它确实有效。 - 从 3.2 开始,它就包含在 Rails Gemfile 中。替换 ruby​​-debug19。 它具有完全相同的功能并且得到积极维护。

ruby-debug19 is not maintained anymore. All the other answers are outdated.

But there's an alternative:

debugger to the rescue!

Put this in your Gemfile:

gem 'debugger', group: [:development, :test]

It just works. - And it is included in the rails Gemfile since 3.2.something to replace ruby-debug19. It has the exact same functionality and is actively maintained.

笑忘罢 2024-08-02 08:01:00

RUBY 2.0+ 及后续版本的更新

byebug 是当前推荐的调试器对于 Ruby 2.0+,

此问题已记录在此处,并且 cldwalker, debugger 的作者指出,debugger 的范围将限于 Ruby 1.9.2 和 1.9.3。

更新2

确实,即使我找不到不再维护的地方,ruby-debug 也没有得到积极维护。

如果您需要帮助来开始使用新的 gem,您可以使用新的调试器 gem,您可以看到< a href="http://railscasts.com/episodes/54-debugging-ruby-revised" rel="nofollow noreferrer">Ryan Bates 轨道演员。

在 Gemfile 中输入:

gem 'debugger', group: [:development, :test]

然后,您可以使用 debugger 关键字在代码中的任意位置添加断点。

您仍然可以使用

linecache19 和 ruby​​-debug-base19 :

bash < <(curl -L https://raw.github.com/gist/1333785)

旧答案

只是关于 rvm、ruby 1.9.1-p378 的补充。
真实的情况是,即使 ruby​​-debug 已经准备好 1.9.x,linecache-0.43 还没有准备好。
解决方案是安装:

gem install ruby-debug19

这为我解决了问题。

旧更新

如果您在使用 ruby​​ 1.9.2 和 Rails 3 调试时遇到问题,请将:

gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

放入您的 Gemfile 中并执行 a

bundle install

将使您再次成为一个快乐的调试器。

UPDATE FOR RUBY 2.0+ and FOLLOWING

byebug is the currently recommended debugger for Ruby 2.0+

This issue has been documented here, and cldwalker, the author of debugger, notes that debugger will be scoped to Ruby 1.9.2 and 1.9.3.

UPDATE 2

It is true that ruby-debug is not actively maintained even if I can't find anywhere that is not maintained any longer.

You can use the new debugger gem if you need a help to start with the new gem you can see Ryan Bates rails cast.

In your Gemfile put:

gem 'debugger', group: [:development, :test]

You can then add a breakpoint anywhere in your code using the debugger keyword.

YOU CAN STILL USE

linecache19 and ruby-debug-base19 with:

bash < <(curl -L https://raw.github.com/gist/1333785)

OLD ANSWERS

Just an add on about this with rvm, ruby 1.9.1-p378.
True story is that even if ruby-debug is 1.9.x ready, linecache-0.43 is not.
The solution is to install:

gem install ruby-debug19

This solves the problem for me.

OLD UPDATE

If you are having problems with ruby 1.9.2 and Rails 3 debugging putting:

gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

In your Gemfile and doing a

bundle install

Will make you a happy debugger again.

怪异←思 2024-08-02 08:01:00

注意:这个答案是正确的,但现在已经过时了。 请看下面的正确答案。 TL;DR:现在使用“调试器”。

ruby​​-debug 现在可在 Ruby 1.9.x 中使用。 参见 http://www.github.com/mark-moseley

进行安装(1.9 上使用 gem Ruby 安装):(

gem install ruby-debug19

前面可能有必要的“sudo”)。

Note: this answer was correct but is now out of date. See the below correct answer. TL;DR: use 'debugger' now.

ruby-debug is now available with Ruby 1.9.x. See http://www.github.com/mark-moseley

To install (using gem on 1.9 Ruby installation):

gem install ruby-debug19

(with perhaps the necessary 'sudo' in front of it).

遗心遗梦遗幸福 2024-08-02 08:01:00

有些事情你可以尝试

1) 使用 ruby​​ 的普通调试器 -rdebug [1] 运行它,有点慢

2) 使用 unroller gem 运行它 [有点臭,很慢]

3) 快速使用大量打印语句,较少内省可能

4) 进入 irb 提示符并从那里运行一些代码。

您可以通过创建自己的“拖放到 irb 提示符”来列出代码,该提示符列出了自身周围的代码 [使用调用者来发现您所在的位置],然后拖放到正常的 irb 提示符处。

5)也许1.9兼容模式下的jruby有调试器?

[1] http://beaver.net/rdebug/index-0.html

Some things you could try

1) run it with ruby’s normal debugger -rdebug [1] kind of slow

2) run it with unroller gem [kind of stinks, way slow]

3) use a lot of print statements fast, kind of less introspection possible

4) drop to an irb prompt and run some code from there.

you could list the code by creating your own “drop to irb prompt” that listed the code around itself [use caller to discover where you where] then drop to a normal irb prompt.

5) maybe jruby in 1.9 compat mode has a debugger?

[1] http://beaver.net/rdebug/index-0.html

温柔戏命师 2024-08-02 08:01:00

如果安装 ruby​​-debug19 后仍然遇到问题,请尝试更新 ruby​​-debug-base19。 在我这样做之前,我遇到了错误并且无法在调试模式下运行 WEBrick。

gem update ruby-debug-base19

哦,感谢莫斯利先生的辛勤工作!

If you still have a problem after installing ruby-debug19 try updating ruby-debug-base19. I had errors and couldn't run WEBrick in debug mode until I did that.

gem update ruby-debug-base19

Oh, and thanks Mr. Moseley for all your hard work!

痞味浪人 2024-08-02 08:01:00

在这里查看我的答案:
Ruby-debug 无法工作 - Stack Overflow

它是关于让 Ruby 调试与以下设置

  • Mac OS X Lion 10.7.2
  • 配合使用Aptana Studio 3(内部版本 3.0.8.201201201658)
  • 使用 rvm,在我的项目工作目录中,我有一个 .rvmrc 说明:

    rvm 使用 ruby​​-1.9.3-p0@mygemset 
      

我希望这有帮助!

——弗雷迪

See my answer here :
Ruby-debug not working - Stack Overflow

It's about getting Ruby debugging to work with the following setup

  • Mac OS X Lion 10.7.2
  • Aptana Studio 3 (Build 3.0.8.201201201658)
  • Using rvm, in my project working directory I have a .rvmrc stating:

    rvm use ruby-1.9.3-p0@mygemset
    

I hope this helps!

-- Freddy

木有鱼丸 2024-08-02 08:01:00

我使用了以下内容,它对我很有用:

gem 'debugger', group: [:development, :test]

ruby​​ 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
导轨 3.2.8

I used following and it works great for me:

gem 'debugger', group: [:development, :test]

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
rails 3.2.8

水水月牙 2024-08-02 08:01:00

Netbeans 是一个很好的 RoR IDE。 调试器也不错。

Netbeans is a good IDE for RoR. Good debugger too.

风流物 2024-08-02 08:01:00

ruby 1.9.1-p243 版本已经发布,兼容的 ruby​​-debug-ide 也可以正常工作。 使用以下命令安装 ruby​​-debug-ide:

gem 安装 ruby​​-debug-ide

这将安装 ruby​​-debug-base19 和 ruby​​-debug-ide gem。 但在此之前,请确保按照 RubyForge 中提供的开发工具包文档成功安装 mingw 。

The ruby 1.9.1-p243 version is out and compitable ruby-debug-ide is also working properly. Install ruby-debug-ide using the following command:

gem install ruby-debug-ide

This will install the ruby-debug-base19 and ruby-debug-ide gems. But before this make sure you install the mingw successfully by following the Development kit docs available from RubyForge.

(り薆情海 2024-08-02 08:01:00

ruby-debug-ide19 gem 提供了最新功能。

Latest features are available in ruby-debug-ide19 gem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文