Main Content

dbup

デバッグ モードで現在のワークスペースを呼び出し元のワークスペースにシフト

説明

dbup は、現在のワークスペースと関数コンテキストを、デバッグ モードでの呼び出し元の関数またはスクリプトのワークスペースと関数コンテキストに変更します。これにより、呼び出し元の MATLAB® 関数またはスクリプトを調べて、呼び出された関数に引数が渡された理由を判定できます。

dbup コマンドは実行するたびに、ベース ワークスペースと関数コンテキストに達するまで、ワークスペースと関数コンテキストをスタック内で前にある呼び出し元の関数またはスクリプトに変更します。実行を続行したり、次の行にステップしたりするために、MATLAB が一時停止した行に戻る必要はありません。

dbup n は、現在のワークスペースと関数コンテキストを、スタックの n レベル以上の呼び出し元の関数またはスクリプトのワークスペースと関数コンテキストに変更します。dbup n を実行することは、dbup コマンドを n 回実行することと同じです。

すべて折りたたむ

dbup コマンドを使用して、関数の呼び出し元の関数のワークスペースを表示します。

次のステートメントを含むファイル myfile.m を作成します。

function n = myfile(x)
n = myfunc(x-1);

function z = myfunc(y)
z = 2/y;

myfunc にブレークポイントを設定し、1 を入力して myfile を実行します。MATLAB は関数 myfunc の行 z = 2/y で一時停止します。

dbstop in myfile>myfunc
myfile(1);
5   z = 2/y;

whos を呼び出して、現在のワークスペースの変数を表示します。

whos
  Name      Size            Bytes  Class     Attributes

  y         1x1                 8  double          

ワークスペースには変数 y が含まれ、これは myfunc のワークスペースのコンテキストにあります。

dbup コマンドを実行して、呼び出し元の関数 myfile のワークスペースに切り替えます。その後、whos を呼び出します。

dbup
whos
In workspace belonging to myfile (line 2)
  Name      Size            Bytes  Class     Attributes

  x         1x1                 8  double  

ワークスペースには変数 x が含まれ、これは myfile のワークスペースのコンテキストにあります。

dbup コマンドを使用して、1 ステップで現在のワークスペースをベース ワークスペースに変更します。

次のステートメントを含むファイル myfile.m を作成します。

function n = myfile(x)
n = myfunc1(x-1);

function m = myfunc1(y)
m = myfunc2(2/y);

function p = myfunc2(z)
p = (z-1)/3;

myfunc2 にブレークポイントを設定し、1 を入力して myfile を実行します。MATLAB は関数 myfunc2 の行 p = (z-1)/3 で一時停止します。

dbstop in myfile>myfunc2
myfile(1);
8   p = (z-1)/3;

whos を呼び出して、現在のワークスペースの変数を表示します。

whos
  Name      Size            Bytes  Class     Attributes

  z         1x1                 8  double    

ワークスペースには変数 z が含まれ、これは myfunc2 のワークスペースのコンテキストにあります。

dbup コマンドを実行して、ベース ワークスペースに切り替えてから、whos を呼び出します。

dbup 2
whos
In workspace belonging to myfile (line 2)
  Name      Size            Bytes  Class     Attributes

  x         1x1                 8  double              

ワークスペースには変数 x が含まれ、これは myfile のワークスペースのコンテキストにあります。

入力引数

すべて折りたたむ

呼び出しスタックで移動するレベルの数。正の整数スカラーとして指定します。

ヒント

  • 次のようなエラー メッセージが表示される場合、親のワークスペースは現在作成中であるため、x の値は使用できません。

    ??? Reference to a called function result under construction x

バージョン履歴

R2006a より前に導入