2012-07-17 46 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

相關問題