dbup - Shift current workspace to workspace of caller in debug

mode - MATLAB (original) (raw)

Main Content

Shift current workspace to workspace of caller in debug mode

Syntax

Description

dbup changes the current workspace and function context to the workspace and function context of the calling function or script in debug mode. Then you can examine the calling MATLABĀ® function or script to determine what caused the arguments to be passed to the called function.

Each dbup command changes the workspace and function context to an earlier calling function or script on the stack until the base workspace and function context is reached. You do not need to return to the line at which MATLAB is paused to continue execution or to step to the next line.

dbup can only be called from the command line.

example

dbup [n](#mw%5Ffdfb6d19-2608-4a8e-831c-cc1cd2b8116d) changes the current workspace and function context to the workspace and function context of the calling function or script that is n levels higher on the stack. Runningdbup n is equivalent to running thedbup command n times.

example

Examples

collapse all

Use the dbup command to view the calling function workspace of a function.

Create a file myfile.m that contains these statements.

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

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

Set a breakpoint at myfunc and runmyfile with an input of 1. MATLAB pauses in the function myfunc, at the linez = 2/y.

dbstop in myfile>myfunc myfile(1);

Call whos to view the variables in the current workspace.

Name Size Bytes Class Attributes

y 1x1 8 double

The workspace contains the variable y, which is in the workspace context for myfunc.

Call dbup from the command line to switch to the workspace of the calling function, myfile. Then, callwhos.

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

x 1x1 8 double

The workspace contains the variable x, which is in the workspace context for myfile.

Use the dbup command to change the current workspace to the base workspace with one step.

Create a file myfile.m that contains these statements.

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

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

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

Set a breakpoint at myfunc2 and runmyfile with an input of 1. MATLAB pauses in the function myfunc2, at the linep = (z-1)/3.

dbstop in myfile>myfunc2 myfile(1);

Call whos to view the variables in the current workspace.

Name Size Bytes Class Attributes

z 1x1 8 double

The workspace contains the variable z, which is in the workspace context for myfunc2.

Call dbup from the command line to switch to the base workspace and then call whos.

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

x 1x1 8 double

The workspace contains the variable x, which is in the workspace context for myfile.

Input Arguments

collapse all

Number of levels to move on the call stack, specified as a positive integer scalar.

Tips

Version History

Introduced before R2006a