13.5 コールスタック
デバッグ中の関数は、一連の関数呼び出しのリーフ ノードである可能性があります。現在のサブルーチンの値を調べると、問題が以前のコード部分で発生したことが判明する場合があります。 と を使用してdbup一連dbdown の関数呼び出しを上下に移動し、変数が最初に間違った値を取った場所を特定します。 は、 dbstack一連の関数呼び出し全体と、現在デバッグが行われているレベルを表示します。
: dbstack
: dbstack n
: dbstack -completenames
: [stack, idx] = dbstack (…)
現在のデバッグ関数のスタック情報を表示または返します。
オプションの引数nを指定すると、最も内側のn個のスタック フレームが省略されます。
引数-completenamesは受け入れられますが、黙って無視されます。Octave は常に絶対ファイル名を返します。
引数nと-completenames は両方とも指定でき、任意の順序で出現できます。
オプションの戻り引数スタックは、次のフィールドを持つ構造体配列です。
file
関数コードが配置されている m ファイルの名前。
name
ブレークポイントを持つ関数の名前。
line
アクティブなブレークポイントの行番号。
column
ブレークポイントが始まる行の列番号。
戻り引数idx は、スタック構造体配列のどの要素が 現在アクティブであるかを指定します。
See also: dbup, dbdown, dbwhere, dblist, dbstatus.
: dbup
: dbup n
デバッグ モードで、実行スタックをnフレーム上に移動します。
nを省略すると、1 フレーム上に移動します。
See also: dbstack, dbdown.
: dbdown
: dbdown n
デバッグ モードで、実行スタックをnフレーム下に移動します。
nを省略すると、1 フレーム下に移動します。
See also: dbstack, dbup.