variable $-d

$DEBUG -> bool[permalink][rdoc][edit]
$-d -> bool

この値が真のときはインタプリタがデバッグモードになります。

コマンドラインオプション -d でセットされます。スクリプトから代入することもできます。

デバッグモードでは、通常モードに比べて以下の違いがあります。

  • 通常時はいずれかのスレッドが例外によって終了しても 他のスレッドは実行を続けますが、デバッグモードでは いずれかのスレッドが例外によって終了した時に インタプリタ全体が中断されるようになります。 Thread.abort_on_exception を true にセットするのと同じ効果です。
  • Thread.abort_on_exception= の効果がなくなります。
  • 例外を捕捉しているかどうかに関係なく、 例外が発生した時点で $stderr にそれが出力されます。 スクリプトの処理は続行されます。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動