【问题标题】:Having to restart thin server (with SSL) each time to trigger Ruby Debugger normal?每次都必须重新启动瘦服务器(使用 SSL)才能正常触发 Ruby Debugger?
【发布时间】:2013-03-27 18:04:38
【问题描述】:

我在我正在处理的项目中安装了调试器 gem。他们正在使用带有 ssl 的瘦服务器。当我在代码中放入调试器时,它不会触发,直到我重新启动服务器。然后如果我删除一个调试器,它不会消失,直到我重新启动服务器。任何想法为什么会发生这种情况?

【问题讨论】:

    标签: ruby-on-rails ruby-debug


    【解决方案1】:

    这取决于您放置调试器的位置。 Rails 配置为在每次请求时重新加载/app 的所有内容。如果您将debugger 调用放在那里,那么它将在每次请求时重新加载。

    否则,如果你把它放在其他地方,例如lib,那么它不会。

    此外,您可能希望将调试器与自动化测试结合使用,而不是浏览器测试。这将使测试更有效。

    【讨论】:

    • 我将调试器放在 /app 中,但除非我重新启动服务器,否则它不会被加载。
    【解决方案2】:

    为了使用thin调试器,你需要用--debugger提示符启动rails服务器

     rails s --debugger 
    

    只要服务器遇到调试器语句,rails 服务器就会连接到调试控制台。在这种情况下,不会处理任何其他请求。当您通过 continue 语句完成调试或没有剩余断点时,服务器开始正常运行,直到再次遇到调试器语句。

    【讨论】:

    • 我使用 thin --ssl start 让服务器运行...我应该添加 --debugger 以使其正常工作吗?
    • 您是在为该服务器使用薄轨 gem 还是其他任何东西?如果是,您可以使用 rails server 开始精简,默认情况下会使用 rails。否则,通过 thin -h 检查瘦选项
    【解决方案3】:

    使用此命令修复它:

    thin --ssl --debug start
    

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 2020-09-08
      • 1970-01-01
      相关资源
      最近更新 更多