Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SLAX リフロー、プロファイラ、コールフロー

SLAX リフロー、プロファイラ、コールフローの概要

アプリケーション Junos OS コマンドライン インターフェイス(CLI)と libslax ディストリビューションには、SLAX スクリプトの実行を追跡するために使用される SLAX スナリスト(sdb)があります。SLAX の機能を利用すると、スクリプトの実行を一時停止し、定義された変数でスクリプトの実行を一時停止し、任意の時点でスクリプト変数の値を確認できます。

SLAX のスギド操作とコマンド構文は、GDB(グリアリスト)という考え方を取り入れるのと似たものになります。sdb コマンドの多くは、可能な限り GDB に対応するコマンドに従います。 表 1 は 、SLAX 使用コマンドと各コマンドの簡単な説明を示しています。

SLAX アクティビティには、スクリプトのアクティビティやパフォーマンスに関する情報を報告できるプロファイラが含まれています。プロファイラは、このタスクを開始すると自動的に有効になります。スクリプトが終了するまで、スクリプトの実行を追跡します。任意の時点でプロファイル情報を表示または消去し、プロファイラを一時的に無効または有効にできます。SLAXコマンドは、スクリプティングのレベルに入る際、またはスクリプトを終了するときに情報データを callflow 印刷できます。

表 1:SLAXコマンドコマンド[表1]

コマンド

説明

break [ loc ]

現在の実行行で、スクリプトに大きな変更を加え加え、オプションで [ file :] またはテンプレート名 line を指定して、その位置に大部変更を作成することもできます。

callflow [オン | オフ]

コールフロー トレースを有効または無効にします。または 値を明示的に on 指定 off できます。値を除外すると、コールフローのオン/オフが切り替えます。

続行する [ loc ]

スクリプトが次の制限に達するまで、引き続きスクリプトを実行します。定義された変数がない場合、スクリプトは完全に実行されます。必要に応じて、 [ file :] または line テンプレート名を指定します。オプションの引数を含める場合、スクリプトの実行は、指定された行番号またはテンプレート名のいずれか(最初に出る)に達するまで続きます。

削除 [ num ]

1 つまたはすべての変更を削除します。順序に分け、作成した番号が付けされます。オプションの引数を除外して、すべてのフィールドを削除します。指定されたアドレスのみを削除する引数として、指定した番号を指定します。コマンドを使用して、現在アクティブな活動を info 表示します。

完了

現在のテンプレートの実行を完了します。

ヘルプ

ヘルプ メッセージを表示します。

情報 [||プロファイル ブリーフ]

現在のスクリプトの情報を表示します。デフォルト コマンドには、スクリプトに含なすべてのフィールドがリストされます。プロファイル情報を表示 profile する場合は、 または の引数 profile brief をオプションで指定します。

リスト [ loc ]

現在のスクリプトの内容を表示します。オプションで [ :] またはテンプレート名を指定します。このオプションでは、問題のポイントにスクリプトの file line 内容の一部がリストされます。出力には、ファイル名、ライン番号、コードが含まれます。

次に

次の手順を実行し、関数やテンプレートコールをステップオーバーします。

over

次の手順を実行し、すべての機能またはテンプレート コールまたは命令階層をステップ実行します。

印刷物 xpath <>

XPath 表現の値を印刷します。

プロファイル [レポート ブリーフ|オフ|の|を明確|する]

プロファイラを有効または無効にします。プロファイラはデフォルトで有効になっています。

プロファイル情報 clear を消去するオプションを含める。現在の report スクリプト report brief のプロファイル情報を表示するまたはオプションを含める。

終了

デバッグ モードを終了します。

リロード

スクリプトをリロードする。

実行

スクリプトの実行を開始します。

ステップ

次の手順を実行し、すべての機能またはテンプレート コールまたは命令階層をステップインします。

どこ

テンプレート コールのバックルームを表示します。

SLAX リフロー、プロファイラ、コールフローの使い方

SLAX 制御の呼び出し

libslax ディストリビューションの Junos OS CLI および SLAX プロセッサーの両方に、SLAX スクリプトの実行を追跡するために使用される SLAX 二次化(sdb)が含まれています。

SLAX というファイル名を呼び出すと、コマンドライン プロンプトが (sdb)に変わり、デバッグ モードに切り替わります。例えば:

ソフトウェア 定義で使用する SLAX Junos OS CLI、設定で有効になっている op スクリプトと一緒に使用する場合のみです。Junos OS を実行しているデバイス上で CLI から SLAX スクリプティングを呼び出す場合は、動作モード コマンドを発行し、op スクリプト名を含め、必要なスクリプトの引数をオプションで含める必要があります op invoke-debugger cli

次の例では、op スクリプト ge-interfaces.slaxに対して SLAX スクリプティングを呼び出します。これは 2 つのパラメーターを持ち interface 、 、 protocol .両方の引数に値が指定されます。

SLAX プロセッサーを使用する際に SLAX の指定を呼び出す場合は、 または オプション slaxproc を使用して コマンド --debug を発行 -d します。スクリプト ファイル、および入力または出力ファイルを指定します。入力ファイルが必要ない場合は、 オプション -E を使用して空の入力ドキュメントを指定します。またはの引数に値「-」が付く場合、または入力オプションまたは入力ファイルを含しない場合は、 -i --input 標準入力が使用されます。標準入力を使用する場合、Ctrl+d を押してファイルの最後に信号を送信します。一般的な構文は次のとおりです。

次の例では、空の入力ドキュメントと出力ファイルscript1-output.xmlを使用したスクリプトスクリプト script1.slaxに対して SLAX スクリプティングを呼び出します。

SLAX 付きサービス終了間近(sdb)

SLAX の支援メッセージを表示するには help 、(sdb)プロンプトで コマンドを発行します。単一のコマンドのヘルプ メッセージを表示するには、 に関する問題 (詳しい情報が必要 help command command な sdb コマンドの場所)を指定します。例えば:

スクリプトのデバッグプロセスは、スクリプトによって異なります。次に一般的な概要を示します。

  1. デバッグ モードにします。
  2. コマンドを使用してスクリプトにスクリプティングを break 挿入します。

    同時に、指定された指定のシステムで一時停止します。

    大き目の位置は、現在のスクリプト内のテンプレートの名前または行番号、ファイル名とコロンで区切られた行番号です。引数を含めない場合は、現在の実行行で指定行が作成されます。分後には、作成時に順次番号が付けされます。問題のリストを表示するには、 コマンドを実行 info breakpoints します。アドレス指定を削除するには、 コマンド delete num を発行し、指定した番号を指定します。すべての変更を削除するには、 コマンドに delete 引数なしを発行します。

    次の例では、1 つ目は 7 行目、2 つ目は 2 行目は 25 行目、3 つ目は「3」という名前のテンプレートという 3 つの分け目を作成しています。

  3. 次に示す大小プロンプトで 、 、 、 、 、および コマンドを発行することで、スクリプトの実行 continue finish next over step を増加します。
  4. プログラムの実行時に変数の値を確認し、期待される価値が得らなか確認します。
  5. 任意のポイントでスクリプトの内容をリロードし reload 、スクリプトの実行を最初から再起動するには、 コマンドを実行します。

SLAX プロファイラの使用

SLAX アクティビティには、スクリプトのアクティビティやパフォーマンスに関する情報を報告できるプロファイラが含まれています。プロファイラは、このタスクを開始すると自動的に有効になります。スクリプトが終了するまで、スクリプトの実行を追跡します。任意の時点でプロファイル情報を表示または消去し、プロファイラを一時的に無効または有効にできます。

プロファイラにアクセスするには、SLAX のスタブ プロンプト profile (sdb)で コマンドを発行し、任意のオプションを含みます。profile コマンド構文は次のとおりです。

表 2 は 、profile コマンド オプションを示しています。追加オプション profile がないコマンドを発行すると、プロファイラのオン/オフが切り替えます。

(sdb)プロンプトで コマンドを発行することで、プロ help profile ファイラのヘルプにアクセスできます。

表 2:Profileコマンド オプション

オプション

説明

クリア

明確なプロファイリング情報

オフ

プロファイリングを無効にする

プロファイリングの有効化

レポート [brief]

レポート プロファイリング情報

プロファイラを有効にし、レポートを印刷するには、以下の方法で行います。

  1. デバッグ モードにします。プロファイラはデフォルトで有効になっています。
  2. スクリプトの実行を手順を踏むか、スクリプト全体を実行します。
  3. スクリプト実行中の任意の時点で、プロファイル情報を表示します。

    有効な情報がなされないので、このオプションはヒットしていない行を表示しないように brief sdb に指示します。オプションを除外 brief すると、破線が表示されます。

    次のサンプル出力は、オプションの使用/なしのプロファイル レポートを示 brief しています。この例のソース コード データは、表示目的で切り捨てされます。

プロファイル レポートには、以下の情報が含まれています。

  • Line—ソース ファイル内の行番号。

  • Hits—このラインを実行した回数。

  • User—このラインの処理に費やした「ユーザー」の時間がマイクロ秒未満。

  • U/Hit—1 ヒット当たりの「ユーザー」時間の平均数。

  • System:このラインの処理に費やした「システム」のマイクロ秒。

  • S/Hit—1 ヒット当たりの「システム」時間の平均数。

  • Source—ソース コードライン。

この情報は、コードの実行に費やした時間を示すだけでなく、実行されている行を表示することもできます。これは、実行が期待値と一致しないデバッグ スクリプトをデバッグするのに役立ちます。

callflowの使用

SLAXコマンドは、スクリプティングのレベルに入る際、またはスクリプトを終了するときに情報データを callflow 印刷できます。

スクリプトの callflow および view callflow データを有効にするには、次の方法に示します。

  1. デバッグ モードにします。
  2. callflow SLAX のスツール プロンプト(sdb)で コマンドを発行します。
  3. スクリプトの実行を手順を踏むか、スクリプト全体を実行します。

    callflowは、スクリプトの異なるレベルに入り込み、終了する間に情報を印刷します。各出力ラインは、フレームの命令、ファイル名、ライン番号を参照します。