2012-07-17 15 views
3

我试图让霰弹枪调试器gem工作,并为调试工作,我需要薄型服务器启动“调试开”。设置霰弹枪以启动它的调试标志薄

如果我可执行:

shotgun -p 1378 -s thin -d -o 0.0.0.0 
shotgun -p 1378 -s thin --debug -o 0.0.0.0 

我得到猎枪开始与$ DEBUG红宝石变量被设置为true,而不必瘦服务器正在启动与调试标志。

如果我运行:

shotgun -pp 1378 -s "thin --debug" -o 0.0.0.0 

我得到一个错误。有没有另外一种方法来运行它,或者某种方式来告诉瘦,当环境设置为开发时,以调试器模式启动?

+0

从未使用红宝石,但允许你使用霰弹枪的语言,值得+1 :) – asgoth 2013-01-08 20:31:55

回答

1

您的-d and --debug options are being interpreted by Shotgun,而不是Thin,这就是设置$DEBUG为true。

Thin的命令行标志打开debugging is -D or --debugsets Thin::Logging.debug to true。您不能使用thin命令行选项(通过启动服务器的shotgun正在读取命令行的正弦),但可以使用一些普通的Ruby代码设置此变量。这样做的一个方法是用a shotgun.rb file需要精简并更改设置:

require 'thin' 
Thin::Logging.debug = true 

(您可能希望把这个在begin...rescue...block和救援的情况下,薄不可用LoadError。)

没有此文件输出:

$ shotgun 
== Shotgun/Thin on http://127.0.0.1:9393/ 
>> Thin web server (v1.4.1 codename Chromeo) 
>> Maximum connections set to 1024 
>> Listening on 127.0.0.1:9393, CTRL+C to stop 

,并与文件:

$ shotgun 
== Shotgun/Thin on http://127.0.0.1:9393/ 
>> Thin web server (v1.4.1 codename Chromeo) 
>> Debugging ON 
>> Maximum connections set to 1024 
>> Listening on 127.0.0.1:9393, CTRL+C to stop 

据我所知,此设置仅影响Thin的日志记录的详细程度,并且与Debugger gem没有任何关系。

+0

这是过时的,调试选项实际上是-D(是的,大写D)这就是在源代码中..但点击懒惰! – MBHNYC 2013-01-08 18:47:50

+0

@MBHNYC斑点 - 谢谢。我已经更新了答案以澄清正在发生的事情,我认为其余部分是可以的。 – matt 2013-01-08 20:31:52

相关问题