我有一个Ruby(2.6.2p47)上的Rails(5.2.2.1)应用程序,使用Puma作为本地开发服务器。当我使用Byebug进行调试时,我发现当Puma线程超时并重置时,连续的Byebug会话不会显示我键入的命令文本。我的解决方案是重新启动Rails服务器,这可能需要一些时间。不显示文本:
这似乎是一个很常见的问题,但没有人在这里发布这个问题,所以我把它和一个适合我的解决方案一起添加进去:
xt0899hw1#
我创建了一个iTerm(在Mac OS上)快捷方式,可以发送
`stty sane`
到终端。(反引号对于将命令发送到shell而不是Byebug会话很重要)。
如果您没有使用iTerm,您可以在反引号中键入命令,或者配置用于发送命令的任何工具。我有一个很好的解决方案,感谢GitHub上的comment。
epggiuax2#
还有另一种解决方法。增加byebug超时
# config/puma.rb ... environment ENV['RACK_ENV'] || 'development' ... if ENV['RACK_ENV'] == 'development' worker_timeout 3600 end
2条答案
按热度按时间xt0899hw1#
我创建了一个iTerm(在Mac OS上)快捷方式,可以发送
到终端。(反引号对于将命令发送到shell而不是Byebug会话很重要)。
如果您没有使用iTerm,您可以在反引号中键入命令,或者配置用于发送命令的任何工具。
我有一个很好的解决方案,感谢GitHub上的comment。
epggiuax2#
还有另一种解决方法。增加byebug超时