【问题标题】:How do I configure Aptana 3 to run my Rails server in debug mode so it stops on breakpoints?如何配置 Aptana 3 以在调试模式下运行我的 Rails 服务器,使其在断点处停止?
【发布时间】:2019-10-13 18:49:12
【问题描述】:

我在 Mac OS X 上使用 Aptana Studio 3。我试图在调试模式下运行我的服务器,以便我可以设置断点并单步执行我的代码。我创建了以下调试配置

使用“服务器”参数...

但是,当我以调试模式启动服务器时(通过右键单击我的项目,选择 Debug As -> Debug Configurations 并在选择上述配置后单击结果对话框中的“Debug”按钮),服务器启动,但是当我调用代码(使用 curl 命令)来调用该方法时,curl 方法挂起,似乎在断点处......

在 Aptana Studio 控制台中,我看到“输入的创建”输出,但没有看到“完成构建”行。但是 Aptana IDE 并没有像我期望的那样突出显示我设置断点的行。下面是 Aptana 控制台。我还需要做什么才能在调试模式下与 IDE 正确交互?

Fast Debugger (ruby-debug-ide 0.7.0, debase 0.2.4.1, file filtering is supported) listens on 127.0.0.1:50900
=> Booting Puma
=> Rails 5.2.2.1 application starting in development 
=> Run `rails server -h` for more startup options
[79989] Puma starting in cluster mode...
[79989] * Version 3.11.4 (ruby 2.5.1-p57), codename: Love Song
[79989] * Min threads: 5, max threads: 5
[79989] * Environment: development
[79989] * Process workers: 2
[79989] * Phased restart available
[79989] * Listening on tcp://0.0.0.0:3000
[79989] Use Ctrl-C to stop
[79989] - Worker 0 (pid: 80014) booted, phase: 0
[79989] - Worker 1 (pid: 80015) booted, phase: 0
Started POST "/users" for 127.0.0.1 at 2019-10-13 13:44:17 -0500
  [1m[35m (5.5ms)[0m  [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
Processing by UserController#create as JSON
  Parameters: {"first_name"=>"Dave", "last_name"=>"Smith", "email"=>"test@example.com"}
entered create

【问题讨论】:

  • 您采用的方法是正确的,据我所知设置调试配置的步骤也是正确的,但是您可以将调试 gem 更新为 ruby​​-debug-base19 (0.11.25) ruby-debug-ide19 (0.4.12) ruby​​-debug19 (0.11.6) 并验证一次,在此之前使用 rails s --debugger 尝试一次。
  • 一个小问题,您是否尝试编写一个简单/普通的 ruby​​ 文件然后右键单击它并选择 Debug As > Ruby application ,IDE 是否打开调试透视图?

标签: debugging configuration ruby-on-rails-5 aptana aptana3


【解决方案1】:

您采取的方法是正确的,据我所知设置调试配置的步骤也是正确的。

解决方法 1:

使用rails s --debugger 并检查它是否工作。

解决方法 2:

将 更新为 ruby-debug-base19 (0.11.25) ruby-debug-ide19 (0.4.12) ruby-debug19 (0.11.6) 尝试一次并验证一次。

方法 3 修复:远程调试 ::

由于 netbeans 和 Aptana 共享相同的调试核心,我们也可以进行远程调试,这里提到的线程可以提供帮助。 Remote debugging Rails application in Aptana Studio 3我们可以按照步骤来确保远程调试正常。

基本上,使用rdebug-ide -p 7000(或您想要的任何端口)运行ruby 应用程序,然后在IDE 中,转到Run > Debug configurations。在左侧,选择"Remote Ruby Debug Session",然后在那里添加一个新配置(列表上方的加号图标)。输入您在命令行中输入的正确主机 IP/名称和端口。

如果我们有 rake 文件和要执行的任务,我们如何调试? 如果我们使用 rake 文件和任务来执行,您可以在此处的线程中参考 How to debug ruby tests in Eclipse/Aptana Studio? 1. 运行 > 调试为 > 调试配置。然后在 Ruby 应用程序下添加一个条目。将它指向您的 rake 脚本路径 (say /usr/local/bin/rake) 作为要启动的文件。 2. 应编辑 Arguements 以将应用程序的 Rakefile 作为第一个 arg 并将 rake 任务作为第二个 arg 传递。 (即/my/path/to/project/Rakefile build)。

注意: 有时可能存在特定 gem 导致问题的可能性,如果我们删除 gem 然后捆绑它并尝试它可能会成功,如果没有成功,请尝试这个。

【讨论】:

  • 循序渐进,我尝试了你的方法 1.如何设置Aptana调试配置?我尝试将“程序参数”设为 --debugger,但是当我单击“调试”按钮(第一个屏幕截图中“应用”按钮正下方的按钮)时,出现错误,“无法加载此类文件 - - 机架/处理程序/--调试器”。
  • 提到的方法1(rails server --debugger)是从控制台/终端尝试,当我们只是在终端中执行命令时,我们可以看到以下消息作为它在调试器中的开始mode => Booting WEBrick => Rails 3.0.0 应用程序开始于0.0.0.0:3000 => Debugger enabled 。这是为了确保它可以从外部工作,当它在 IDE 外部工作时,您可以在参数中输入 --debugger 并尝试相同。
  • 这很公平。所以在命令行上运行“rails s --debugger”会给出同样的错误——“/Users/davea/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.2.1/lib/active_support/dependencies. rb:291:in `require': 无法加载此类文件 -- rack/handler/--debugger (LoadError)"。
  • 感谢 dave 的回复,您是否配置了 environment.rb,如果您更改了 ENV["RAILS_ENV"] = "development",然后执行以下命令“rails server -e development " 工作正常,如果工作正常,那么我们将在命令后附加 --debugger 并检查
  • 我们也可以试试“gem install byebug”,然后把sn-p改成下面的,看看这个通道是否可以调试,代码如下。 def create: print "Entered Create \n" byebug @book = buildbook(params) print "Done Building"
猜你喜欢
  • 2011-10-15
  • 1970-01-01
  • 2014-09-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
  • 1970-01-01
  • 2023-03-12
  • 2016-01-23
相关资源
最近更新 更多