【发布时间】:2013-03-27 18:04:38
【问题描述】:
我在我正在处理的项目中安装了调试器 gem。他们正在使用带有 ssl 的瘦服务器。当我在代码中放入调试器时,它不会触发,直到我重新启动服务器。然后如果我删除一个调试器,它不会消失,直到我重新启动服务器。任何想法为什么会发生这种情况?
【问题讨论】:
我在我正在处理的项目中安装了调试器 gem。他们正在使用带有 ssl 的瘦服务器。当我在代码中放入调试器时,它不会触发,直到我重新启动服务器。然后如果我删除一个调试器,它不会消失,直到我重新启动服务器。任何想法为什么会发生这种情况?
【问题讨论】:
这取决于您放置调试器的位置。 Rails 配置为在每次请求时重新加载/app 的所有内容。如果您将debugger 调用放在那里,那么它将在每次请求时重新加载。
否则,如果你把它放在其他地方,例如lib,那么它不会。
此外,您可能希望将调试器与自动化测试结合使用,而不是浏览器测试。这将使测试更有效。
【讨论】:
为了使用thin调试器,你需要用--debugger提示符启动rails服务器
rails s --debugger
只要服务器遇到调试器语句,rails 服务器就会连接到调试控制台。在这种情况下,不会处理任何其他请求。当您通过 continue 语句完成调试或没有剩余断点时,服务器开始正常运行,直到再次遇到调试器语句。
【讨论】:
使用此命令修复它:
thin --ssl --debug start
【讨论】: