Main Content

dbup

디버그 모드에서 현재 작업 공간(Current Workspace)을 호출자 작업 공간(Workspace Of Caller)으로 이동

설명

예제

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          

이 작업 공간에는 myfunc의 작업 공간 컨텍스트에 있는 변수 y가 포함되어 있습니다.

dbup 명령을 실행하여 호출하는 함수 myfile의 작업 공간으로 전환합니다. 그런 다음, whos를 호출합니다.

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

  x         1x1                 8  double  

이 작업 공간에는 myfile의 작업 공간 컨텍스트에 있는 변수 x가 포함되어 있습니다.

dbup 명령을 사용하여 현재 작업 공간을 기본 작업 공간으로 한 번에 변경합니다.

다음 명령문이 포함된 파일 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    

이 작업 공간에는 myfunc2의 작업 공간 컨텍스트에 있는 변수 z가 포함되어 있습니다.

dbup 명령을 실행하여 기본 작업 공간으로 전환한 다음 whos를 호출합니다.

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

  x         1x1                 8  double              

이 작업 공간에는 myfile의 작업 공간 컨텍스트에 있는 변수 x가 포함되어 있습니다.

입력 인수

모두 축소

호출 스택에서 이동할 수준 개수로, 양의 정수 스칼라로 지정됩니다.

  • 다음과 같은 오류 메시지가 나타나는 경우에는 부모 작업 공간이 작업 중이라서 x의 값을 사용할 수 없음을 의미합니다.

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

버전 내역

R2006a 이전에 개발됨

참고 항목

| |