gpt4 book ai didi

ruby-on-rails - 如何调试由工头启动的 Rails (3.2) 应用程序?

转载 作者:行者123 更新时间:2023-12-03 13:51:56 25 4
gpt4 key购买 nike

我正在尝试使用工头来启动我的 Rails 应用程序。不幸的是,我在连接我的 IDE 进行调试时遇到了困难。

我读了here关于使用

Debugger.wait_connection = true
Debugger.start_remote

启动远程调试 session ,但这并没有真正奏效。

问题:
有没有办法调试由工头启动的 rails (3.2) 应用程序?如果是这样,方法是什么?

最佳答案

如果您使用多个具有完整 rails 环境的工作人员,则可以使用以下初始化程序:

# Enabled debugger with foreman, see https://github.com/ddollar/foreman/issues/58
if Rails.env.development?
require 'debugger'
Debugger.wait_connection = true

def find_available_port
server = TCPServer.new(nil, 0)
server.addr[1]
ensure
server.close if server
end

port = find_available_port
puts "Remote debugger on port #{port}"
Debugger.start_remote(nil, port)
end

在工头的日志中,您将能够找到调试器的端口:
$ foreman start
12:48:42 web.1 | started with pid 29916
12:48:42 worker.1 | started with pid 29921
12:48:44 web.1 | I, [2012-10-30T12:48:44.810464 #29916] INFO -- : listening on addr=0.0.0.0:5000 fd=10
12:48:44 web.1 | I, [2012-10-30T12:48:44.810636 #29916] INFO -- : Refreshing Gem list
12:48:47 web.1 | Remote debugger on port 59269
12:48:48 worker.1 | Remote debugger on port 41301

现在使用以下命令运行调试器:
rdebug -c -p [PORT]

关于ruby-on-rails - 如何调试由工头启动的 Rails (3.2) 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558576/

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