3

デバッガーgemをshotgunで動作させようとしていますが、デバッガーを動作させるには、シンサーバーを「DebuggingON」で起動する必要があります。

どちらかを実行した場合:

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

デバッグフラグをオンにしてシンサーバーを起動する代わりに、$DEBUGruby変数をtrueに設定してショットガンを開始します。

私が実行した場合:

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

エラーが発生します。これを実行する別の方法、または環境が開発に設定されているときにデバッガーモードで開始するようにthinに指示する方法はありますか?

4

1 に答える 1

1

あなた-d--debugオプションはThinではなくShotgunによって解釈されて$DEBUGおり、それがtrueに設定されています。

デバッグ-D--debugをオンにするThinのコマンドラインフラグはorであり、これはtrueに設定Thin::Logging.debugされます。コマンドラインオプションを使用することはできませんがthin(サーバーを起動するコマンドラインが読み取られshotgunている場合)、通常のRubyコードを使用してこの変数を設定できます。これを行う1つの方法は、Thinを必要とし、設定を変更するファイルshotgun.rbを使用することです。

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

begin...rescue...blockThinが使用できない場合に備えて、これをに入れて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のロギングの冗長性にのみ影響し、Debuggergemとは何の関係もありません。

于 2012-08-12T22:27:11.387 に答える