gpt4 book ai didi

ruby - 我应该在我的 Ruby (JRuby) 代码中放入什么来打断调试器?

转载 作者:数据小太阳 更新时间:2023-10-29 07:05:58 24 4
gpt4 key购买 nike

我正在熟悉一些 JRuby 代码,我希望能够在代码中放置一个断点并(像往常一样)从命令行运行,当它到达时进入调试器那一点。我可以在我的代码中添加一些东西来强制 JRuby 进入调试器吗?

我尝试运行 jruby -r debug foo.rb(而不是通常的 jruby foo.rb),然后使用 b 设置断点bar.py:98,然后继续。但是每次出现异常时调试器都会停止,而且在到达我感兴趣的代码行之前似乎有很多异常。我希望能够将“break-into-debugger”在我的代码中添加行并运行 jruby foo.rb 并让调试器首先停止在该行。

(即我正在寻找 Ruby/JRuby 等同于 Python 中的 import pdb;pdb.set_trace()。)

最佳答案

你可以试试 Netbeans Ruby IDE ,它内嵌了JRuby解释器和调试工具,您可以直接在IDE中进行可视化调试。
如果您不适合使用 IDE,只需将 de debug gem 安装到您的 JRuby 发行版中,然后通过 debugger 命令使用它:

  1. debug-commons 手动下载 ruby​​-debug-base-0.10.3.1-java.gem到本地目录。
  2. 将 Gem 安装到您的 JRuby Gem 存储库中:
    jruby -S gem install -l ruby​​-debug-base-0.10.3.1-java.gem
  3. 安装 ruby​​-debug gem:
    jruby -S gem install --ignore-dependencies ruby​​-debug

debugger 命令现在应该可以工作了。

# test.rb
require 'rubygems'
require 'ruby-debug'
debugger
# run like this:
jruby --debug -S rdebug test.rb

有关 Netbeans wiki 的更多信息, rdebug wikiJRuby wiki

关于ruby - 我应该在我的 Ruby (JRuby) 代码中放入什么来打断调试器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com