names=-d,DEBUG
visibility=public
kind=defined

--- $DEBUG -> bool
--- $-d    -> bool

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

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

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

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

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

@see [[d:spec/rubycmd]]

