@debug ディレクティブ
更新 : 2007 年 11 月
デバッグ シンボルの出力をオンまたはオフにします。
@set @debug(on | off)
引数
on
既定値です。デバッグをオンにします。off
省略可能です。デバッグをオフにします。
解説
JScript コードの作成者が記述するプログラム コードと、コンパイルされて実行される実際のコードは異なる場合があります。これは、ASP.NET などのホスト環境や開発ツールが独自のコードを生成し、プログラムに追加することがあるためです。一般的に、このようなコードは、コード作成者がデバッグするときには関係ありません。したがって、コードの作成者は、コードをデバッグするときに開発ツールが生成した部分を参照せずに、自分が記述した部分だけを確認しようとします。同様の理由で、パッケージ作成者はデバッグをオフにすることがあります。
コンパイラは、/debug オプションを指定してコマンド ラインからコンパイルする場合、または @page ディレクティブでデバッグ フラグを設定して ASP.NET ページをコンパイルする場合にだけ、デバッグ シンボルを生成します。このような状況では、debug ディレクティブは既定でオンになります。debug ディレクティブは、ファイルの終端に到達するまで、または次の debug ディレクティブが見つかるまで有効です。
debug ディレクティブがオフの場合、コンパイラはローカル変数 (関数またはメソッド内で定義される変数) に関するデバッグ情報を生成しません。ただし、debug ディレクティブが、グローバル変数に関するデバッグ情報の生成を妨げることはありません。
使用例
次のコードは、/debug オプションを指定してコマンド ラインからコンパイルされた場合にローカル変数 debugOnVar のデバッグ シンボルを生成しますが、debugOffVar のデバッグ シンボルは生成しません。
function debugDemo() {
// Turn debugging information off for debugOffVar.
@set @debug(off)
var debugOffVar = 42;
// Turn debugging information on.
@set @debug(on)
// debugOnVar has debugging information.
var debugOnVar = 10;
// Launch the debugger.
debugger;
}
// Call the demo.
debugDemo();